Comment est-il possible d'initialiser (avec un initialiseur C #) une liste de chaînes? J'ai essayé avec l'exemple ci-dessous mais cela ne fonctionne pas.
List<string> optionList = new List<string>
{
"AdditionalCardPersonAddressType","AutomaticRaiseCreditLimit","CardDeliveryTimeWeekDay"
}();
Réponses:
la source
new
chose si vous initialisez avec{ }
Collections::Generic::List<int>^ mylist = gcnew Collections::Generic::List<int>(gcnew array<int>{0, 1, 2, 3, 4})
new String[]
n'est pas efficace?Retirez simplement
()
à la fin.la source
List<string> optionList = new List<string>() { "AdditionalCardPersonAdressType", /* rest of elements */ };
. Notez le()
ici:new List<string>()
.Vous n'avez pas vraiment posé de question, mais le code devrait être
c'est-à-dire pas de suivi () après la liste.
la source
Au-dessus de deux sont les moyens les plus courts, veuillez consulter https://www.dotnetperls.com/list
la source
string[]
var animals = new List<string> { "bird", "dog" };
n'a pas été suggéré dans la réponse acceptée. En(new string[]
outre, une commande d'addition dans la réponse acceptée peut être évitée.Votre fonction est très bien mais ne fonctionne pas parce que vous mettez
()
la dernière}
. Si vous déplacez le()
vers le haut juste à côté denew List<string>()
l'erreur, l'arrêt s'arrête.Exemple ci-dessous:
la source
C'est ainsi que vous initialisez et vous pouvez également utiliser List.Add () au cas où vous voudriez le rendre plus dynamique.
De cette façon, si vous prenez des valeurs dans IO, vous pouvez les ajouter à une liste allouée dynamiquement.
la source
Déplacez les crochets comme ceci:
la source
Une fonctionnalité vraiment cool est que l'initialiseur de liste fonctionne très bien avec les classes personnalisées: vous n'avez qu'à implémenter l' interface IEnumerable et avoir une méthode appelée Add .
Par exemple, si vous avez une classe personnalisée comme celle-ci:
cela fonctionnera:
la source
la source
Voilà comment vous le feriez.
N'oubliez pas d'ajouter
la source