Rozglądałem się na stackoverflow dla tego, ale nie mogę znaleźć odpowiedzi, której szukam, to jest naprawdę proste. Zasadniczo chcę wiedzieć, jak sprawdzić, czy moja zmienna IEnumerable jest null, moja instrukcja if po prostu śmiać się ze mnie i pozwala zmiennych przechodzą.mvc 4 IEnumerable sprawdzanie czy jego wartość zerowa
Oto scenariusz, mam listę danych pobranych z bazy danych, ten mały bit jest funkcją filtrującą (więc nie [HttpPost]), która filtruje zawartość na podstawie danych wprowadzanych przez użytkownika. Pierwszą rzeczą, którą sprawdza jest lista recenzji w recenzowanej bazie danych, jeśli ta zwraca pustą, chcę, aby sprawdzała listę użytkowników w bazie recenzji.
oto kod:
var review = from m in _db.Reviews
select m;
if (!String.IsNullOrEmpty(searchString))
{
review = review.Where(s => s.review.Contains(searchString));
if (review != null && review.Any())
{
return View(review);
}
else
{
review = review.Where(s => s.user.Contains(searchString));
return View(review);
}
mam pomieszane o nim trochę, if służy do sprawdzania, czy to null, następnie .any(), a następnie = null, a teraz oba, zmienna po prostu przechodzi obok, śmiejąc się. Uruchomiłem debugger i umieściłem go w kilku miejscach. Kiedy wejście to wartość, która wiem nie zwróci wyniki to co debugger mówi wartość recenzja jest:
„IEnumerable nie dały żadnych rezultatów”
W żałosną próbę zapobieżenia temu nawet chucked że zdanie w instrukcji if. zmienna śmiała się tak mocno, że przysięgam, że słyszałem to przez moje głośniki.
W każdym razie, chłopaki, gdybym mógł uzyskać najlepszy sposób na zrobienie tego i dlaczego. Będą pliki cookie.
że jeśli oświadczenie powinno być podniesienie zmienną jako nieważną i działając odpowiednio, ale niech to minie :( – Jay