Jak można zainicjować (za pomocą inicjatora C #) listę ciągów? Próbowałem z poniższym przykładem, ale nie działa.
List<string> optionList = new List<string>
{
"AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();
Odpowiedzi:
źródło
new
niczego innego , jeśli zainicjujesz{ }
Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
new String[]
nie jest wydajna?Po prostu usuń
()
na końcu.źródło
List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };
. Zauważ, że()
tutaj:new List<string>()
.Naprawdę nie zadałeś pytania, ale kod powinien być
tzn. brak trailing () po liście.
źródło
Powyżej dwóch jest najkrótszych sposobów, zobacz https://www.dotnetperls.com/list
źródło
string[]
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.Próbka poniżej:
źródło
W ten sposób inicjujesz, a także możesz użyć List.Add () na wypadek, gdybyś chciał uczynić go bardziej dynamicznym.
W ten sposób, jeśli pobierasz wartości z IO, możesz dodać je do dynamicznie przydzielanej listy.
źródło
Przesuwaj okrągłe nawiasy w następujący sposób:
źródło
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ą:
to zadziała:
źródło
źródło
Tak byś to zrobił.
Nie zapomnij dodać
źródło