如何解决如何在不使用循环的情况下将列表中的项目复制到堆栈中
| 我有一个堆栈和一个列表。我需要将所有项目从列表复制到堆栈而不使用循环,即foreach ..等 有推荐的方法吗?解决方法
您可以从IEnumerable的任何内容创建堆栈
var myStack = new Stack<MyObjectType>(myList);
请参阅MSDN:http://msdn.microsoft.com/en-us/library/76atxd68.aspx
但是,堆栈构造函数将在内部使用循环,只是看不到它。
,new Stack<T>(myListOfT)
替代地(无循环)
myStack.Push(myList[0]);
myStack.Push(myList[1]);
myStack.Push(myList[2]);
myStack.Push(myList[3]);
...
这将变得非常乏味。循环有什么问题?
,如果您要按照项目在列表中显示的顺序来弹出项目,
然后反转列表,然后再从中创建堆栈。
var myStack = new Stack<MyObjectType>(myList.Reverse());
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。