如何在不使用循环的情况下将列表中的项目复制到堆栈中

问题描述

| 我有一个堆栈和一个列表。我需要将所有项目从列表复制到堆栈而不使用循环,即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());
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...