562 Stimmen

Wie initialisiert man eine Liste von Strings (List<string>) mit vielen Stringwerten?

Wie ist es möglich, (mit einem C#-Initialisierer) eine Liste von Zeichenfolgen zu initialisieren? Ich habe versucht, mit dem Beispiel unten, aber es funktioniert nicht.

List<string> optionList = new List<string>
{
    "AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();

2voto

Todd Albers Punkte 41

Es gibt noch etwas, das Sie vielleicht übersehen, das aber noch nicht erwähnt wurde. Ich denke, dass dies das Problem sein könnte, das Sie haben, da ich vermute, dass Sie bereits versucht haben, das nachgestellte () zu entfernen und trotzdem einen Fehler erhalten haben.

Erstens müssen Sie, wie bereits von anderen hier erwähnt, in Ihrem Beispiel das nachgestellte () entfernen;

Beachten Sie aber auch, dass List<> im Namespace System.Collections.Generic liegt.

Sie müssen also eine der beiden folgenden Optionen wählen: [Nr. 1 unten ist wahrscheinlich die bessere Option]

(1) Fügen Sie die Verwendung des Namespace am Anfang Ihres Codes mit ein: using System.Collections.Generic;

ou

(2) Geben Sie den vollständig qualifizierten Pfad zu List in Ihrer Deklaration an.

System.Collections.Generic.List optList=new System.Collections.Generic.List {"AdditionalCardPersonAddressType", "AutomaticRaiseCreditLimit", "CardDeliveryTimeWeekDay" };

Ich hoffe, das hilft.

Die Fehlermeldung, die Sie erhalten, wenn Sie List korrekt implementieren, aber den System.Collections.Generic-Namespace nicht einbeziehen, ist irreführend und nicht hilfreich:

"Compilerfehler CS0308: Der nicht-generische Typ List kann nicht mit Typargumenten verwendet werden."

PS - Es gibt diese wenig hilfreiche Fehlermeldung, denn wenn Sie nicht angeben, dass Sie System.Collections.Generic.List verwenden wollen, nimmt der Compiler an, dass Sie versuchen, System.Windows.Documents.List zu verwenden.

0voto

Martin Zeitler Punkte 1

Ich habe den Content-Tag C# gesehen, aber wenn jemand Java verwenden könnte (die gleichen Suchbegriffe führen hierher):

List<String> mylist = Arrays.asList(new String[] {"element1", "element2", "element3" }.clone());

-8voto

Muhammad Ali Punkte 37

So würden Sie es machen.

List <string> list1 = new List <string>();

Vergessen Sie nicht, Folgendes hinzuzufügen

using System.Collections.Generic;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X