2016-07-12 9 views
0

Durch Zufall scheint es, dass ich ein unbegrenztes Array erstelle, was ich in C# nicht für möglich gehalten habe. Ich bekomme keine Fehler und der Code funktioniert, aber ich sehe keinen Verweis auf die Array-Deklaration, die ich in der Online-Dokumentation verwendet habe. Ich habe versucht, diese Methode in anderen Situationen zu verwenden und bekomme jedes Mal einen Fehler. Warum funktioniert das?unbegrenzte Array in Visual C#?

Array arrLines; 

arrLines = System.IO.File.ReadAllLines(strTargetFilePath2); 
foreach (string strLine2 in arrLines) 
{ 
eventLog1.WriteEntry(strLine2); 
} 
+0

Es ist nicht unbegrenzt. Versuchen Sie etwas wie 'arrLines [arrLines.Length] =" foo "' nach Ihrem 'ReadAllLines' und Sie werden schnell sehen, dass es begrenzt ist. –

Antwort

5

Array arrLines; erstellt eigentlich kein Array. Es richtet nur eine Variable ein, der Sie ein Array zuweisen können.

Sie müssen keine Länge einrichten, wenn Sie arrLines deklarieren, da es sich um einen Referenztyp handelt. Dies bedeutet, dass es eine Adresse für den hypothetischen Array-Inhalt anstelle des Array-Inhalts selbst enthält.

System.IO.File.ReadAllLines(strTargetFilePath2); ist, was das Array erstellt, und ja, das Array hat eine bestimmte Länge.

+0

so erstellt es ein endliches Array basierend auf der Anzahl der Zeilen gelesen? –

+0

@XiVix ja, tut es. –

Verwandte Themen