Dzisiaj nieco o tym, jak można sobie chociaż kapkę życie ułatwić. O ile z reguły przy dropdownlistach wyświetlamy jakieś konkretne wartości pobrane z bazy tworząc odpowiednią SelectList, o tyle z enumami z reguły nie chcemy wyświetlać bezpośrednio jego nazwy w boxie, na przykład ze względu na to, że nasza nazwa (nam tłumacząca wszystko) nic odbiorcy stronki nie powie. Rozwiązaniem przez nas stosowanym jest generowanie listy na podstawie atrybutów enumów. Więc jedziemy: Atrybut DisplayName jest tu bardzo ...
Konwersja Enum do List. Zawsze zapominam jak to się robi a to tak prosta sprawa. IList listDayOfWeek = new List(); var dic = Enum.GetValues(typeof(DayOfWeek)) //pobiera wszystkie wartości z danego typu as IEnumerable; //!! najważniejszy punkt programu // a teraz dodajmy warunek że nasza lista ma być.. np bez niedzieli listDayOfWeek = dic.Where(d=>d!= DayOfWeek.Sunday).ToList();
Architektura 5190 dni, 16 godzin, 57 minut temu 122 źrodło rozwiń
W sytuacji, gdy nad danym projektem pracuje większa grupa programistów czasami trudno jest się wystrzec oczywistych błędów. Takim błędem jest zapominanie o domyślnej inicjalizacji zmiennych w przypadku enum-a.
Bryczka z flagami public enum Kolorki { None , Black , Red , Green , Blue }; Koń jaki jest każdy widzi. A co jeśli byśmy chcieli mieć bryczkę z kiloma końmi? Pamięć przywiodła mi myśl o bitach, ale pomyślałam sobie - że niby nie ma czegoś nowszego i elegantszego? [FlagsAttribute] public enum Kolorki { None , Black , Red , Green , Blue }; //Kolorki.Green = Kolorki.Black | Kolorki.Red Św...
Mając wartość enuma w postaci napisowej, pobraną na ten przykład z bazy, bardzo łatwo jest z powrotem sparsować ją do właściwego dla aplikacji typu: 1: public enum MyEnum 2: { 3: FirstVal, 4: SecondVal 5: } 6: //... 7: (MyEnum)Enum.Parse(typeof(MyEnum), "FirstVal");
Tym razem temat jest bardzo prosty: "Jak wymienić (wyliczyć) wszystkie elementy typu wyliczeniowego (enum'a)?". Przyznam, że robiłem już to wiele razy, ale często musiałem się chwilę zastanowić: "jak to było?". Więc teraz w ramach ściągi dla siebie (a może komuś się to jeszcze przyda...)