Est instancié une file d'attente en utilisant {a, b, c} possible en C #?
-
26-09-2019 - |
Question
Est-il possible de le faire en C #?
Queue<string> helperStrings = {"right", "left", "up", "down"};
ou dois-je produire un tableau d'abord pour cela?
La solution
Non, vous ne pouvez pas initialiser une file d'attente de cette façon.
De toute façon, vous pouvez faire quelque chose comme ceci:
var q = new Queue<string>( new[]{ "A", "B", "C" });
et ce, bien évidemment, des moyens pour passer à travers un réseau.
Autres conseils
Est-il possible de le faire en C #?
Malheureusement pas.
La règle de collecte initializers en C # est que l'objet doit (1) mettre en œuvre IEnumerable, et (2) ont une méthode Add. La collection initialiseur
new C(q) { r, s, t }
est réécrite sous la forme
temp = new C(q);
temp.Add(r);
temp.Add(s);
temp.Add(t);
et entraîne alors tout ce qui est en température.
Queue<T>
met en œuvre IEnumerable mais il n'a pas une méthode Add; il a une méthode Enqueue.
Queue<T>
ne met pas en œuvre une méthode « Ajouter », vous aurez besoin d'instancier un IEnumerable<string>
dont il peut être initialisé:
Queue<string> helperStrings
= new Queue<string>(new List<string>() { "right", "left", "up", "down" });