Nie sądzę, aby istniał dobry powód, aby zainicjować tutaj tablicę ciągów, aby utworzyć ten obiekt. Każdy, kto szuka, skorzystaj z jednej z pozostałych odpowiedzi.
@DylanChensky Powiedziałbym, że robienie czegokolwiek jest niepotrzebne jest nieefektywne. To prawda, że ta jedna instancja może nie być wielkim problemem, ale wyobraź sobie, że twój kod jest zaśmiecony takimi elementami. To może zrobić dużą różnicę, szczególnie jeśli chodzi o wykorzystanie pamięci.
W wersji 2.0 należy użyć go w ten sposób: List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };. Zauważ, że ()tutaj: new List<string>().
Jest to funkcja języka C # 3 i nie ma nic wspólnego z używaną wersją frameworka. Jeśli nadal korzystasz z programu Visual Studio 2005, nie będziesz mógł korzystać z tej funkcji.
var animals = new List<string> { "bird", "dog" };nie zostało zasugerowane w zaakceptowanej odpowiedzi. Dalej (new string[]znajduje się polecenie dodawania w zaakceptowanej odpowiedzi, którego można uniknąć.
Twoja funkcja jest w porządku, ale nie działa, ponieważ wstawiasz ()ostatni }. Jeśli przeniesiesz ()na górę tuż oboknew List<string>() błędu, przestaje.
Jedną naprawdę fajną funkcją jest to, że inicjator listy działa również dobrze z klasami niestandardowymi: wystarczy zaimplementować interfejs IEnumerable i zastosować metodę o nazwie Add .
Na przykład, jeśli masz taką klasę niestandardową:
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.