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

olu adesina
PRO
olu adesina
Pro Student 19,018 Points

cant see where im going wrong task 3 0f 3 Enum.tryparse()

keeps saying bummer :Did you pass the 'condition' variable to the TryParse method as an out parameter?

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;
            if (DateTime.TryParse(values[1], out timeOfDay))
            {
                weatherForecast.TimeOfDay = timeOfDay;
            }

            Condition condition;
            if (Enum.TryParse(values[2], out condition ))
            {

               weatherForecast.Condition = condition;

            }

            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; }
        public Condition Condition {get;set;}
    }

    public enum Condition {

        Rain, 
        Cloudy,
        PartlyCloudy,
        PartlySunny,
        Sunny, 
        Clear



    }
}

1 Answer

Fredrik Rönnehag
Fredrik Rönnehag
2,341 Points

Don't ask me why, since it should work either way because C# language should ignore whitespace.

            Condition condition;
            if(Enum.TryParse(values[2], out condition))
            {
               weatherForecast.Condition = condition;
            }

Removing the whitespace will make the code work, there is nothing wrong with your code in general.

Steven Parker
Steven Parker
172,031 Points

You might want to report this as a bug to the Support folks.