458 Stimmen

Wie kann ich ein leeres Array in C# initialisieren?

Ist es möglich, ein leeres Array ohne Angabe der Größe zu erstellen?

Zum Beispiel habe ich erstellt:

String[] a = new String[5];

Können wir das obige String-Array auch ohne die Größe erstellen?

10voto

disklosr Punkte 1416

Einfach und elegant!

string[] array = {}

10voto

juFo Punkte 16511

string[] a = new string[0];

oder Kurznotation:

string[] a = { };

Der bevorzugte Weg ist jetzt:

var a = Array.Empty<string>();

Ich habe einen kurzen regulären Ausdruck geschrieben, den Sie in Visual Studio verwenden können, wenn Sie Zuweisungen der Länge Null ersetzen möchten, z. B. new string[0] . Verwenden Sie Find (Suche) in Visual Studio mit aktivierter Option Regular Expression:

new[ ][a-zA-Z0-9]+\[0\]

Suchen Sie nun Alle oder F3 (Weiter suchen) und ersetzen Sie Alle durch Array.Empty< >() !

10voto

Igor Nedbaylo Punkte 11

Leistungsvorschrift CA1825: Vermeiden Sie die Zuweisung von Arrays mit einer Länge von Null.

Beschreibung der Regel: Die Initialisierung eines Arrays mit einer Länge von Null führt zu einer unnötigen Speicherzuweisung. Verwenden Sie stattdessen die statisch zugewiesene leere Array-Instanz, indem Sie die Methode Array.Empty aufrufen.

In Ihrem Fall:

var a = Array.Empty<string>();

4voto

radarbob Punkte 4835

Sie können die Größe des Arrays zur Laufzeit festlegen .

Dies ermöglicht es Ihnen, die Größe des Arrays dynamisch zu berechnen. Einmal definiert, ist die Größe jedoch unveränderlich.

Array a = Array.CreateInstance(typeof(string), 5);

3voto

CS_YAN Punkte 41

Ich hatte es versucht:

string[] sample = new string[0];

Aber ich konnte nur eine Zeichenkette einfügen, und dann bekam ich eine exceptionOutOfBound Fehler, so dass ich einfach eine Größe für sie, wie setzen

string[] sample = new string[100];

Oder einen anderen Weg, der für mich funktioniert:

List<string> sample = new List<string>();

Wert für Liste zuweisen:

sample.Add(your input);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X