如何从列表中取出每个元素并将其推入堆栈?

Mar*_*vin 3 c# stack push list

string filePath = @"C:\Users\Me\Desktop\Palindromes\palindromes.txt";

List<string> lines = File.ReadAllLines(filePath).ToList();
var meStack = new Stack<string>();

for (int i = 0; i < lines.Count; i++)
{
    string pali;
    pali = lines.RemoveAt(i);
    meStack.Push(pali[i]);
}
Run Code Online (Sandbox Code Playgroud)

基本上我需要将Remove每个元素(在 txt 中有40行)从list,然后Push 每个元素放到stack.

Sai*_*uli 5

为什么还要列一个清单List<String>ReadAllLines以 响应String[]。Stack 接受一个数组作为构造函数参数......那么,下面的代码会为你做这项工作吗?

  string filePath = @"C:\Users\Me\Desktop\Palindromes\palindromes.txt";
  var meStack = new Stack<string>(File.ReadAllLines(filePath));
Run Code Online (Sandbox Code Playgroud)

  • 出色的!供参考:[Stack&lt;T&gt;(IEnumerable)](https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.stack-1.-ctor?view=netframework-4.8# System_Collections_Generic_Stack_1__ctor_System_Collections_Generic_IEnumerable__0__) (3认同)