Wie ist es möglich (mit einem C # -Initialisierer) eine Liste von Zeichenfolgen zu initialisieren? Ich habe es mit dem folgenden Beispiel versucht, aber es funktioniert nicht.
List<string> optionList = new List<string>
{
"AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();
Antworten:
quelle
new
nichts weitergeben, wenn Sie mit{ }
Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
new String[]
nicht effizient ist?Einfach
()
am Ende entfernen .quelle
List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };
. Beachten Sie das()
hier :new List<string>()
.Sie haben nicht wirklich eine Frage gestellt, aber der Code sollte sein
dh kein nachgestelltes () nach der Liste.
quelle
Die beiden oben genannten Wege sind die kürzesten, siehe https://www.dotnetperls.com/list
quelle
string[]
var animals = new List<string> { "bird", "dog" };
wurde in der akzeptierten Antwort nicht vorgeschlagen. Ferner(new string[]
ist ein Additionsbefehl in der akzeptierten Antwort enthalten, der vermieden werden kann.Ihre Funktion ist in Ordnung, funktioniert aber nicht, weil Sie die
()
nach der letzten setzen}
. Wenn Sie die()
nach oben direkt neben bewegennew List<string>()
stoppt der Fehler dem Fehler.Beispiel unten:
quelle
Auf diese Weise initialisieren Sie und können List.Add () verwenden, falls Sie es dynamischer gestalten möchten.
Auf diese Weise können Sie Werte, die Sie von IO übernehmen, einer dynamisch zugewiesenen Liste hinzufügen.
quelle
Bewegen Sie runde Klammern wie folgt:
quelle
Eine wirklich coole Funktion ist, dass der Listeninitialisierer auch mit benutzerdefinierten Klassen gut funktioniert: Sie müssen nur die IEnumerable- Schnittstelle implementieren und eine Methode namens Hinzufügen haben .
Wenn Sie beispielsweise eine benutzerdefinierte Klasse wie diese haben:
das wird funktionieren:
quelle
quelle
So würden Sie es machen.
Vergessen Sie nicht hinzuzufügen
quelle