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

Hamzah Iqbal
seal-mask
.a{fill-rule:evenodd;}techdegree
Hamzah Iqbal
Full Stack JavaScript Techdegree Student 11,145 Points

Did you forget to assign the TimeOfDay property?

What am I missing? I'm so lost and confused.

Program.cs
using System;
using System.IO;

namespace Treehouse.CodeChallenges
{
    public class Program
    {

        public static void Main(string[] arg)
        { 
        }

        /*
        1. Create a static method named ParseWeatherForecast that takes a string[] parameter named values 
        and returns a WeatherForecast.
        */

        public static WeatherForecast ParseWeatherForecast(string[] values)
        {

         /*
         2. Instantiate a WeatherForecast variable named weatherForecast and 
            assign the appropriate value in the values array to the WeatherStationId property.
        */

            var weatherForecast = new WeatherForecast();
            weatherForecast.WeatherStationId = values[0];

            /*
            3. return the weatherForecast in the new method
            */

            return weatherForecast;


            /*
            5. Back in the ParseWeatherForecast method, add a new variable named timeOfDay to hold a DateTime value. 
            */


            DateTime timeOfDay;
            DateTime.TryParse(values[1], out timeOfDay);


         }



    }
}
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; }

    }
}

1 Answer

Steven Parker
Steven Parker
203,989 Points

As the hint suggests, you forgot to assign weatherForecast.TimeOfDay using the parsed value. But there's two other issues also:

  • the assignment should only occur if the "TryParse" was successful
  • all the method code needs to occur before the return statement