multidimensional - size of array in c#



String-Array mit unbekannter Größe (8)

Wie ist ein String-Array, bei dem Sie nicht wissen, wo die Array-Größe in c # .NET liegt?

String[] array = new String[]; // this does not work

https://code.i-harness.com


Gibt es einen bestimmten Grund, warum Sie ein Array verwenden müssen? Wenn Sie die Größe vorher nicht kennen, können Sie List<String>

List<String> list = new List<String>();

list.Add("Hello");
list.Add("world");
list.Add("!");

Console.WriteLine(list[2]);

Gibt Ihnen eine Ausgabe von

!

MSDN - Liste (T) für weitere Informationen


Ich denke, Sie suchen möglicherweise nach der StringBuilder Klasse. Wenn nicht, dann die generische List-Klasse in String-Form:

List<string> myStringList = new List<string();
myStringList.Add("Test 1");
myStringList.Add("Test 2");

Oder, wenn Sie absolut sicher sein müssen, dass die Zeichenfolgen in Reihenfolge bleiben:

Queue<string> myStringInOriginalOrder = new Queue<string();
myStringInOriginalOrder.Enqueue("Testing...");
myStringInOriginalOrder.Enqueue("1...");
myStringInOriginalOrder.Enqueue("2...");
myStringInOriginalOrder.Enqueue("3...");

Denken Sie daran, dass bei der List-Klasse die Reihenfolge der Elemente ein Implementierungsdetail ist, und Sie können nicht garantieren, dass sie in der Reihenfolge bleiben, in der Sie sie eingegeben haben.


Können Sie eine List-Zeichenfolge verwenden, und wenn Sie fertig sind, verwenden Sie strings.ToArray (), um das Array der Zeichenfolgen zu erhalten, mit denen Sie arbeiten möchten?


Sie können ein leeres Array wie unten deklarieren

String[] arr = new String[]{}; // declare an empty array
String[] arr2 = {"A", "B"}; // declare and assign values to an array
arr = arr2; // assign valued array to empty array

Sie können über dem leeren Array keine Werte wie unten zuweisen

arr[0] = "A"; // you can't do this

Sie müssen die Größe eines Arrays nicht angeben, wenn Sie es instanziieren.

Sie können das Array dennoch deklarieren und später instanziieren. Zum Beispiel:

string[] myArray;

...

myArray = new string[size];

Wenn Sie array verwenden möchten, ohne die Größe zu kennen, müssen Sie es zuerst deklarieren und später können Sie es wie folgt instanziieren

string[] myArray;
...
...
myArray=new string[someItems.count];

Wie andere bereits erwähnt haben, können Sie eine List<String> (was meiner Meinung nach eine bessere Wahl wäre). Für den Fall, dass Sie den String[] benötigen (um ihn beispielsweise an eine vorhandene Methode zu übergeben, die ihn benötigt), können Sie jederzeit ein Array aus der Liste abrufen (die eine Kopie des inneren Arrays von List<T>'s ) :

String[] s = yourListOfString.ToArray();

string foo = "Apfel, Pflaume, Kirsche";

string [] myArr = null;

myArr = foo.Split (',');





arrays