1

我有一些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

4

6 回答 6

6

那将是foreach构造。基本上它能够IEnumerable从提供的参数中提取一个,并将它的所有值存储到提供的变量中。

foreach( var curLine in allLines ) {
  ...
}
于 2010-09-24T14:23:42.037 回答
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) { ... }
于 2010-09-24T14:30:43.567 回答
1

我猜是

foreach (string currLine in allLines)
{
   ...
}
于 2010-09-24T14:24:03.627 回答
0

foreach(string currLine in allLines) { ... }

于 2010-09-24T14:23:53.830 回答
0
List<string> allLines = new List<string>
{
    "line 1",
    "line 2",
    "line 3",
};
foreach (string currLine in allLines) { ... } 
于 2010-09-24T14:33:23.917 回答
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) { ... }
于 2010-09-24T14:34:10.907 回答