xeo*_*hin 5 c# arrays queue icollection
是否有可能在C#中做到这一点?
Queue<string> helperStrings = {"right", "left", "up", "down"};
Run Code Online (Sandbox Code Playgroud)
或者我必须首先制作阵列?
dig*_*All 16
不,你不能以这种方式初始化队列.
无论如何,你可以这样做:
var q = new Queue<string>( new[]{ "A", "B", "C" });
Run Code Online (Sandbox Code Playgroud)
显然,这意味着要通过一个数组.
Eri*_*ert 12
是否有可能在C#中做到这一点?
很不幸的是,不行.
C#中的集合初始值设定规则是该对象必须(1)实现IEnumerable,(2)具有Add方法.集合初始化器
new C(q) { r, s, t }
Run Code Online (Sandbox Code Playgroud)
被重写为
temp = new C(q);
temp.Add(r);
temp.Add(s);
temp.Add(t);
Run Code Online (Sandbox Code Playgroud)
然后导致任何温度.
Queue<T>实现IEnumerable但它没有Add方法; 它有一个Enqueue方法.