我有一些Java代码:
Vector<String> allLines = new Vector<String>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
for (String currLine: allLines) { ... }
基本上,它将一个大文件读入一个行向量,然后一次处理一个(因为我正在做一个多遍编译器,所以把它全部放到内存中)。
使用C#执行此操作的等效方法是什么?我在这里假设我不需要恢复使用索引变量。
实际上,为了澄清,我要求相当于上面的整个代码块,而不是只是 for
循环。
答案 0 :(得分:6)
那将是foreach
构造。基本上它能够从提供的参数中提取IEnumerable
,并将所有值存储到提供的变量中。
foreach( var curLine in allLines ) {
...
}
答案 1 :(得分:5)
List<string>
,并像Vector一样自动调整大小。
所以:
List<string> allLines = new List<string>();
allLines.Add("line 1");
allLines.Add("line 2");
allLines.Add("line 3");
foreach (string currLine in allLines) { ... }
答案 2 :(得分:1)
我猜是
foreach (string currLine in allLines)
{
...
}
答案 3 :(得分:0)
foreach(string currLine in allLines) { ... }
答案 4 :(得分:0)
List<string> allLines = new List<string>
{
"line 1",
"line 2",
"line 3",
};
foreach (string currLine in allLines) { ... }
答案 5 :(得分:0)
看起来Vector只是一个简单的列表,所以这将是c#等价的
List<string> allLines = new List<string>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
foreach (string currLine in allLines) { ... }