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.

È stato utile?

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) { ... }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top