2010-06-29 18 views
204

Come è possibile inizializzare (con un inizializzatore C#) un elenco di stringhe? Ho provato con l'esempio qui sotto ma non funziona.Come inizializzare un elenco di stringhe C# (Elenco <string>) con molti valori stringa

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

qual è la lingua? – atzz

+0

C# (su asp.net) è il lang. – theklc

+4

prima vorrei formattare il codice;) – Arseny

risposta

316
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" }); 

mi asterrò da essere preoccupati per alcuni dettagli nella lista del PO ... :)

+8

Uso astuto del parametro IEnumerable. Mi piace. –

+17

Uso astuto della parola astuzia! – ewitkows

+53

Non penso ci sia un buon motivo per inizializzare qui un array di stringhe per creare questo oggetto. Chiunque stia guardando, per favore usa una delle altre risposte. –

307

Basta rimuovere () alla fine.

List<string> optionList = new List<string> 
      { "AdditionalCardPersonAdressType", /* rest of elements */ }; 
+2

@Oded: http://msdn.microsoft.com/ it-it/library/bb384062.aspx "Inizializzatori della raccolta" – Lucero

+0

Ti stai riferendo a una versione specifica di .NET/C#? Per quanto ne so questo lavoro dalla v3.5 e successive. Non so 2.0 perché non l'ho usato per un po '... – Padel

+1

asp.net 2.0 btw Ho ricevuto l'errore dopo {-> Errore Una nuova espressione richiede() o [] dopo il tipo – theklc

84

Non hanno davvero fatto una domanda, ma il codice dovrebbe essere

List<string> optionList = new List<string> { "string1", "string2", ..., "stringN"}; 

cioè senza finale() dopo l'elenco.

+0

Errore Una nuova espressione richiede() o [] dopo il tipo – theklc

+2

@blgnklc, perché si sta utilizzando C# 2 che non supporta questa funzione. –

+3

Questa dovrebbe essere la risposta accettata ora. –

9

vostra funzione è bene, ma non funziona perché si mette il () dopo l'ultima } . Se sposti lo () in alto accanto a new List<string>(), l'errore si interrompe.

esempio riportato di seguito:

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

Questo è come si dovrebbe fare.

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

Non dimenticate di aggiungere

using System.Collections.Generic;

2

Questo è come si inizializza e inoltre è possibile utilizzare List.Add() nel caso si desideri per renderlo più dinamico.

In questo modo, se si stanno acquisendo valori dall'IO, è possibile aggiungerlo a un elenco assegnato in modo dinamico.

Problemi correlati