[英]What's the C# equivalent of Java's “for (String currLine: allLines)”?
我有一些符合以下要求的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
循环。
那将是foreach
构造。 基本上,它能够从提供的参数中提取IEnumerable
,并将其所有值存储到提供的变量中。
foreach( var curLine in allLines ) {
...
}
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) { ... }
我想是
foreach (string currLine in allLines)
{
...
}
foreach(string currLine in allLines) { ... }
List<string> allLines = new List<string>
{
"line 1",
"line 2",
"line 3",
};
foreach (string currLine in allLines) { ... }
看起来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) { ... }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.