微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c#-4.0 – 如何为Stack或Queue指定文字初始化程序?

这个:
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'

这让我想知道为什么编译器愚蠢到要求Add.

那么,如何在Queue / Stack构造函数中初始化?

解决方法

集合初始值设定项是一种编译器功能,可以为您传递的每个项调用Add方法.
如果没有Add方法,则无法使用它.

相反,您可以调用带有IEnumerable< T>的Stack或Queue构造函数

var stack = new Stack<int>(new [] { 1,2,3 });

原文地址:https://www.jb51.cc/csharp/99974.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐