1

次のような Java コードがあります。

Vector<String> allLines = new Vector<String>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
for (String currLine: allLines) { ... }

基本的に、大きなファイルを行ベクトルに読み取り、一度に 1 つずつ処理します (マルチパス コンパイラを実行しているので、すべてをメモリに取り込みます)。

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.

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
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 に答える
0

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

于 2010-09-24T14:23:53.830 に答える