2016-04-01 4 views
-2

ich Daten in einem folgendes Format haben:Deklarieren einer gezackten Array in C#

{{{0}},{{1}},{{2,3}},{{1,2},{3,4}},{{5,6},{7,8},{9,10}},.... Gibt es eine Möglichkeit, dies in einem gezackten Array zu speichern? Die Daten sind groß und ich möchte sie direkt in den Code aufnehmen. Ich suchte Internet und es sagt, dass ich es auf folgende Weise erklären kann:

{ new int[][] { new int[] {0} }, new int[][] { new int[] {1} }, 
    new int[][] { new int[] {2,3} }, new int[][] {new int[] {1,2} ,new int[] {3,4} } , ... 

aber diese neuen int[][] Eingabe wäre zu zeitaufwendig und ich bin auf der Suche nach einem Weg, dass ich die Originaldaten können direkt in den Code . Gibt es eine Möglichkeit, das zu tun? Jeder Vorschlag wäre willkommen!

+1

Ich wäre dankbar, wenn Sie sich über die Markierung lesen kann und die Frage zu formatieren, so dass es lesbar ist. Danke –

+0

Vielen Dank für den Hinweis. Eigentlich versuche ich eine Windows Forms Anwendung zu erstellen, in diesem Fall wird das Tag C# passend sein? – user109870

+0

Hängt von der Programmiersprache ab, die Sie verwenden möchten –

Antwort

1

Da Ihr primäres Ziel ist es, bestehende Daten in den Code als initialisiert C# gezackten Array zu integrieren, schlage ich folgendes:

  1. die vorhandenen Daten einfügen.
  2. Suchen und ersetzen { mit new [] {, mit Ausnahme des allerersten Auftretens.
  3. Weisen Sie eine Variable mit dem Typ int[][][] zu (fügen Sie zusätzliche [] s hinzu, wenn mehr als drei Ebenen vorhanden sind).

zur besseren Lesbarkeit Formatierte, sollte das Ergebnis eine gültige C# Aussage wie folgt:

int[][][] x = 
{ 
    new[] { 
     new[] {0} 
    }, 
    new[] { 
     new[] {1} 
    }, 
    new[] { 
     new[] {2,3}, 
     new[] {2,3} 
    } 
}; 
1

Von Jagged Arrays (C# Programming Guide), ich denke, Sie können gemischte gezackte und mehrdimensionale Arrays verwenden, um es ein wenig einfacher zu machen.

 int[][,] test = new int[][,] { 
      new int[,] { { 0 } }, 
      new int[,] { { 1 } }, 
      new int[,] { { 2, 3 } }, 
      new int[,] { { 1, 2 }, { 3, 4 } } 
     };