Buduję zabawną małą aplikację, aby określić, czy powinienem jeździć na rowerze do pracy.Określanie, czy wartość wyliczenia znajduje się na liście (C#)
Chciałbym przetestować, czy jest to Raining lub burza (ing).
public enum WeatherType : byte
{ Sunny = 0, Cloudy = 1, Thunderstorm = 2, Raining = 4, Snowing = 8, MostlyCloudy = 16 }
Myślałam mógłby zrobić coś takiego:
WeatherType _badWeatherTypes = WeatherType.Thunderstorm | WeatherType.Raining;
if(currentWeather.Type == _badWeatherTypes)
{
return false;//don't bike
}
ale to nie działa, ponieważ _badWeatherTypes to połączenie obu typów. Chciałbym je oddzielić, ponieważ ma to być doświadczenie edukacyjne, a oddzielenie go może być przydatne w innych sytuacjach (np. Faktury, nieumyślne przyczyny itp.).
Chciałbym też raczej nie (to usunie możliwość być skonfigurowany dla wielu osób)
if(WeatherType.Thunderstorm)
{
return false; //don't bike
}
etc...
[Flagi] wydaje się być sposobem, aby przejść tutaj. –
Cóż, zdecydowanie jest to dobre - ale jest to całkowicie ortogonalne w stosunku do faktycznego pytania. Nie pomoże ani nie utrudni logiki bitowej. –
Miałeś rację co do "Sunny", musiałem to zmienić. Dziękuję wszystkim za pomoc. –