在 C# 中,Java 的“for (String currLine: allLines)”相当于什么?

发布于 2024-09-24 15:42:48 字数 399 浏览 5 评论 0原文

我有一些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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

冬天旳寂寞 2024-10-01 15:42:48

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

foreach( var curLine in allLines ) {
  ...
}

That would be the foreach construct. Basically it is capable to extract an IEnumerable from the supplied argument, and will store all of it's values into the supplied variable.

foreach( var curLine in allLines ) {
  ...
}
贪了杯 2024-10-01 15:42:48

List 可以通过索引访问,并像 Vector 一样自动调整大小。

所以:

List<string> allLines = new List<string>();
allLines.Add("line 1");
allLines.Add("line 2");
allLines.Add("line 3");
foreach (string currLine in allLines) { ... }

List<string> can be accessed by index and resizes automatically like Vector.

So:

List<string> allLines = new List<string>();
allLines.Add("line 1");
allLines.Add("line 2");
allLines.Add("line 3");
foreach (string currLine in allLines) { ... }
浮萍、无处依 2024-10-01 15:42:48

我猜是

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

I guess it's

foreach (string currLine in allLines)
{
   ...
}
执笏见 2024-10-01 15:42:48

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

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

十六岁半 2024-10-01 15:42:48
List<string> allLines = new List<string>
{
    "line 1",
    "line 2",
    "line 3",
};
foreach (string currLine in allLines) { ... } 
List<string> allLines = new List<string>
{
    "line 1",
    "line 2",
    "line 3",
};
foreach (string currLine in allLines) { ... } 
浮生面具三千个 2024-10-01 15:42:48

看起来 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) { ... }

It looks like Vector is just a simple list, so this would be the c# equivalent

List<string> allLines = new List<string>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
foreach (string currLine in allLines) { ... }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文