Musiałem zmienić na mojej linii kodu wokół. I przedtem coś takiegoJak usunąć obiekt z kolekcji list?
// this is in a static method.
List<string> mySTring = new List<string>();
mySTring.add("one");
mySTring.add("two");
jednak na jednej z moich stron Mam dropdownlist, który nie wymaga pola „dwa”, więc zamiast pisać kod duplikat wszystko zrobiłem było
myString.remove("two");
teraz muszę zmienić moją listę do List<SelectListItem> myList = new List<SelectListItem>();
Więc muszę to teraz wygląda tak:
List<SelectListItem> myList = new List<SelectListItem>()
{
new SelectListItem() { Text = "one", Value = "one"},
new SelectListItem() { Text = "two", Value = "two"},
};
Więc jak mogę usunąć selectListItem, który zawiera "dwa"? Wiem, że prawdopodobnie mógłbym użyć polecenia usunięcia według indeksu. Ale mogę dodać do listy w przyszłości, więc nie chcę zacząć polować i zmieniać go, jeśli indeks się zmieni.
Dzięki
hmm ufałem teraz musisz go poszukać. Nie będę już mieć odniesienia, myślę, że usunę go przez indeks lub przez znalezienie. Nie wiem, czego użyć. Po prostu zaniepokojony w przyszłości dodaję coś do mojej listy kolekcji i nagle jest to inny indeks i staram się dowiedzieć, dlaczego to nie działa i to jest powód. – chobo2
Również, w jaki sposób działa metoda sortowania kolekcji list? Ponieważ używałem metody sortowania na mojej liście łańcuchów (to dlatego obawiam się, że indeks się zmieni). – chobo2
Zawsze możesz użyć innego pojemnika, który nie wymaga wyszukiwania przez brutalną siłę. – spender