En C#, je peux initialiser une liste à l'aide de la syntaxe suivante.
List<int> intList= new List<int>() { 1, 2, 3 };
Je voudrais qu' {}
syntaxe fonctionne, et si il a un nom. Il y a un constructeur qui prend un IEnumerable, on pourrait appeler ça.
List<int> intList= new List<int>(new int[]{ 1, 2, 3 });
Celui qui semble le plus "standard". Quand je déconstruire le constructeur par défaut pour la Liste, je ne vois
this._items = Array.Empty;
Je voudrais être capable de faire cela.
CustomClass abc = new CustomClass() {1, 2, 3};
Et être en mesure d'utiliser l' 1, 2, 3
de la liste. Comment cela fonctionne?
Mise à jour
Jon Skeet répondu
C'est l'appel de la sans paramètre constructeur, et puis de l'appel d'Ajouter:
> List<int> tmp = new List<int>();
> tmp.Add(1); tmp.Add(2); tmp.Add(3);
> List<int> intList = tmp;
Je comprends ce qui est fait. Je veux savoir comment. Comment est-ce que la syntaxe sais d'appeler la méthode Add?
Mise à jour
Oui, je sais, patron d'accepter un Jon Skeet réponse. Mais, l'exemple avec les cordes et l'ints est génial. Également très utile page MSDN est: