C# C# Streams and Data Processing Parsing Data Working with DateTime

olu adesina
PRO
olu adesina
Pro Student 19,018 Points

DateTime.TryParse() challenge

not sure why this is not working not getting any errors

Program.cs
using System;
using System.IO;

namespace Treehouse.CodeChallenges
{
    public class Program
    {
        public static void Main(string[] arg)
        {

        }

        public static WeatherForecast ParseWeatherForecast(string[] values)
            {
                var weatherForecast = new WeatherForecast();
                DateTime timeOfDay;




                var lines = values[0].Split('\n');
                var Values = lines[1].Split(',');
                var Id = Values[0];


            if(DateTime.TryParse(Values[1], out timeOfDay))
                  {

                   weatherForecast.TimeOfDay = timeOfDay;

                  }

                weatherForecast.WeatherStationId = Id;




                return weatherForecast;

            } 
    }
}
WeatherForecast.cs
using System;

/* Sample CSV Data 

weather_station_id,time_of_day,condition,temperature,precipitation_chance,precipitation_amount
HGKL8Q,06/11/2016 0:00,Rain,53,0.3,0.03
HGKL8Q,06/11/2016 6:00,Cloudy,56,0.08,0.01
HGKL8Q,06/11/2016 12:00,PartlyCloudy,70,0,0
HGKL8Q,06/11/2016 18:00,Sunny,76,0,0
HGKL8Q,06/11/2016 19:00,Clear,74,0,0
*/

namespace Treehouse.CodeChallenges
{
    public class WeatherForecast
    {
        public string WeatherStationId { get; set; }
        public DateTime TimeOfDay { get; set; }
    }
}

2 Answers

olu adesina
PRO
olu adesina
Pro Student 19,018 Points

maybe i have misunderstood the question i thought i was meant to get the weatherId value from the text in the csv file and assign it to the weatherForecast.WeatherStationId property how else do i access parts of this string with out using the split().

Steven Parker
Steven Parker
171,971 Points

See the comment I added to my answer.

Steven Parker
Steven Parker
171,971 Points

I get "Bummer: Index was outside the bounds of the array."

You don't need to split anything for this challenge. The "values" argument array can be accessed directly to get what you need. The comments in the "WeatherForecast.cs" file tell you which data item can be found at each array index.

Steven Parker
Steven Parker
171,971 Points

The values are a string array, and each one is a separate array element. You won't need to split any strings, just select the correct one using an index. The comment could have perhaps made that more clear if they'd added brackets around the list:

/* Sample CSV Data
[weather_station_id,time_of_day,condition,temperature,precipitation_chance,precipitation_amount]
*/

You might want to suggest that to the Support folks if you think it could help other students.