2016-08-05 7 views
-4

ich eine gezackte Array haben, die andere 1d String-Arrays enthält:Erhalten Sie ein Array von String aus einem gezackten Array

string[] first = {"one","two"}; 
string[] second = {"three","four"}; 
string[][] jagged = {first,second}; 

Wenn ich versuche, die Unterfelder zu bekommen, geben sie einen Nullwert (I könnte sein, etwas falsch zu machen):

foreach (string[] arr in jagged[][]) { 
    // My stuff here 
} 

habe ich etwas falsch gemacht im Array Initialisierungsfortschritt oder muss ich irgendwie die Unterfelder konvertieren?

+5

Welcher spezifische Code verursacht welchen spezifischen Fehler? (Ja, Sie könnten etwas falsch machen, aber wie werden wir wissen, wenn Sie nicht zeigen, was Sie tun?) – mmcrae

+1

Nur aus Neugier: Warum verwenden Sie Arrays wie diese, wenn .NET so viele bessere, einfacher zu haben -Verwenden Sie Optionen für Sammlungen von Dingen? Es ist eine objektorientierte Programmiersprache mit vollem Funktionsumfang, keine Skriptsprache. Nutzen Sie das aus. –

+3

Kompiliert das überhaupt? 'foreach (string [] arr in gezackt [] [])' sieht nicht wie gültige Syntax aus. – sstan

Antwort

0

Nur der foreach Teil ist falsch. Ich habe es getestet wie wie folgt:

string[] first = { "one", "two" }; 
string[] second = {"three","four"}; 
string[][] jagged = {first,second}; 

foreach (string[] arr in jagged) 
{ 
    Console.WriteLine(string.Join(",", arr)); 
} 

Ausgang:

ein, zwei

drei, vier

0

es sein sollte:

foreach (string[] arr in jagged) 
{ 
    // My stuff here 
} 

Ich habe Ihren Code in meine lokale Umgebung eingefügt und konnte problemlos iterieren.

0

Wenn Sie jagged[][] in der Schleife verwenden, dann möglicherweise Sie eine Typumwandlung fehlgeschlagen Meldung:

Kann nicht Typ ‚char‘ zu ‚string‘ konvertieren.

Verwenden Sie stattdessen jagged in Ihrer Schleife.

public class Program 
{ 
    public static void Main() 
    { 
     string[] first = {"one","two"}; 
     string[] second = {"three","four"}; 
     string[][] jagged = {first,second}; 

     foreach (string[] arr in jagged) 
     { 
      //Your code 
     } 
    } 
}