Qual è il C # equivalente di Java “per (String currLine: allLines)”?
-
05-10-2019 - |
Domanda
Ho un po 'di codice Java lungo le linee di:
Vector<String> allLines = new Vector<String>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
for (String currLine: allLines) { ... }
In sostanza, si legge un file di grandi dimensioni in un vettore linee, allora elabora una alla volta (mi mettono tutto in memoria dal momento che sto facendo un compilatore multi-pass).
Qual è il modo equivalente di fare questo con C #? Sto assumendo qui non avrò bisogno di tornare a utilizzare una variabile indice.
In realtà, per chiarire, sto chiedendo l'equivalente del blocco di codice intero sopra, non solo il ciclo for
.
Soluzione
List<string>
possibile accedere indice e ridimensiona automaticamente come vettore.
List<string> allLines = new List<string>();
allLines.Add("line 1");
allLines.Add("line 2");
allLines.Add("line 3");
foreach (string currLine in allLines) { ... }
Altri suggerimenti
Questo sarebbe il costrutto foreach
. Fondamentalmente si è in grado di estrarre un IEnumerable
dalla tesi dotazione, e memorizzerà tutti i suoi valori nella variabile fornito.
foreach( var curLine in allLines ) {
...
}
Credo che sia
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) { ... }
Sembra Vector è solo un semplice elenco, quindi questo sarebbe il c # equivalente
List<string> allLines = new List<string>();
allLines.add("line 1");
allLines.add("line 2");
allLines.add("line 3");
foreach (string currLine in allLines) { ... }