在 C# 中,Java 的“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
循环。
I've got some Java code along the lines of:
Vector<String> allLines = new Vector<String>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
for (String currLine: allLines) { ... }
Basically, it reads a big file into a lines vector then processes it one at a time (I bring it all in to memory since I'm doing a multi-pass compiler).
What's the equivalent way of doing this with C#? I'm assuming here I won't need to revert to using an index variable.
Actually, to clarify, I'm asking for the equivalent of the whole code block above, not just the for
loop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这就是
foreach
构造。基本上它能够从提供的参数中提取IEnumerable
,并将其所有值存储到提供的变量中。That would be the
foreach
construct. Basically it is capable to extract anIEnumerable
from the supplied argument, and will store all of it's values into the supplied variable.List
可以通过索引访问,并像 Vector 一样自动调整大小。所以:
List<string>
can be accessed by index and resizes automatically like Vector.So:
我猜是
I guess it's
foreach(string currLine in allLines) { ... }
foreach(string currLine in allLines) { ... }
看起来 Vector 只是一个简单的列表,所以这将是 C# 的等价物
It looks like Vector is just a simple list, so this would be the c# equivalent