Jeśli mam listę ciągów
List<String> list = new list<String>();
list.add("str1");
list.add("str2");
list.add("str3");
i chcę wiedzieć, czy na przykład pozycja indeksu 2 zawiera element, czy można to zrobić w prosty sposób bez liczenia długości listy lub używania try catch?
Ponieważ to się nie powiedzie, mogę to obejść, próbując złapać, ale wydaje się to przesadne
if(list.ElementAt(2) != null)
{
// logic
}
list.ElementAtOrDefault(2)??defaultvalue
if (list.Count > desiredIndex && list[desiredIndex] != null) { // logic }
źródło
IndexOf
-1int? here = (list.ElementAtOrDefault(2) != 0 ? list[2]:(int?) null);
źródło