Jeśli mam zmienną w języku C#, która musi zostać sprawdzona w celu ustalenia, czy jest ona równa jednemu ze zbioru zmiennych, jaka jest najlepszy sposób to zrobić?Najbardziej zwięzły sposób określenia, czy zmienna jest równa wartości z "listy" wartości
Nie szukam rozwiązania, które przechowuje zestaw w tablicy. Jestem bardziej ciekawy, czy istnieje rozwiązanie, które w jakiś sposób wykorzystuje logikę boolowską, aby uzyskać odpowiedź.
Wiem, że mógłbym zrobić coś takiego:
int baseCase = 5;
bool testResult = baseCase == 3 || baseCase == 7 || baseCase == 12 || baseCase == 5;
Jestem ciekaw, czy mogę zrobić coś więcej tak:
int baseCase = 5;
bool testResult = baseCase == (3 | 7 | 12 | 5);
Oczywiście powyższe nie będzie działać, ale chciałbym zobaczyć, czy istnieje coś bardziej zwięzłego niż mój pierwszy przykład, który musi powtarzać tę samą zmienną w kółko dla każdej wartości testowej.
UPDATE:
postanowiłem przyjąć odpowiedź CoreyN jako wydaje się najprostszym podejściem. Jest to praktyczne i nadal łatwe do zrozumienia dla początkujących.
Niestety tam, gdzie pracuję, nasz system korzysta z platformy .NET 2.0 i nie ma szans na szybką aktualizację w najbliższym czasie. Czy są jakieś inne rozwiązania tam, że nie opierają się na .NET 3.5 ram, oprócz najbardziej oczywistego mogę myśleć:
new List<int>(new int[] { 3, 6, 7, 1 }).Contains(5);
Oto .NET 2.0 rozwiązanie, nieco bardziej złożone niż Corey: http://stackoverflow.com/questions/18407#153037 – Joe
Przykład kodu JavaScript http://stackoverflow.com/questions/12116326 – Lijo