此:
List<string> set = new List<string>() { "a","b" };
工作正常,但是:
Stack<string> set = new Stack<string>() { "a","b" };
Queue<string> set = new Queue<string>() { "a","b" };
失败了:
...does not contain a definition for 'Add'
这让我想知道为什么编译器足够愚蠢地要求添加。
那么,应该如何在队列/堆栈构造函数中进行初始化?
答案 0 :(得分:11)
集合初始值设定项是一种编译器功能,可以为您传递的每个项目调用Add
方法。
如果没有Add
方法,则无法使用它。
相反,您可以调用带有Stack
的{{1}}或Queue
构造函数:
IEnumerable<T>
答案 1 :(得分:0)