Wie kann ich ein zweidimensionales dynamisches Längen-Array erstellen?

8

Ich möchte ein zweidimensionales Array erstellen, ohne die Größe der ersten Dimension zu kennen.

Zum Beispiel habe ich eine unbekannte Anzahl von Zeilen, wenn ich ein Array erstelle. Jede Zeile repräsentiert ein Konto. Verlasse 4 Spalten für jede Zeile: ID, Name, Benutzer, Passwort

Ich habe versucht mit gezackten Array, aber es ist nicht möglich zu haben:

%Vor%

Ich habe auch nach ArrayList , Implementierung mit Klassen und etwas über Generics gesucht.

Ich suche nach einer Lösung, die eine einfache Manipulation von Daten wie folgt ermöglicht:

  • zur Liste hinzufügen, auswählen, Eingabeelemente
  • Verwendung von Elementen in Datenbankabfragen
  • Verwendung als Parameter in anderen Funktionen

Weil ich ein Neuling in .NET bin (C #), bitte geben Sie mir Code-Lösungen, anstatt generische (suchen Sie nach) Lösungen

    
user848568 17.07.2011, 10:38
quelle

3 Antworten

17

IMO, da die "Spalten" fest sind, deklarieren Sie eine Klasse dafür:

%Vor%

habe jetzt a:

%Vor%

das hat alles was du brauchst:

  

zur Liste hinzufügen, auswählen, Eingabeelemente

list.Add usw.

  

verwendet Elemente in Datenbankabfragen   Verwendung als Parameter in anderen Funktionen

vage ohne weitere Informationen, aber Sie können entweder die Account oder einzelne Werte oder die gesamte Liste übergeben.

    
Marc Gravell 17.07.2011 10:42
quelle
2

In .NET gibt es keine Arrays mit dynamischer Länge. Verwenden Sie stattdessen List<> .

Die Array-Grenzen müssen alle bekannt sein, wenn Sie ein Array instanziieren. Was Sie vielleicht verwirrt hat, ist, dass dies für gezackte Arrays anders zu sein scheint, aber es ist nicht: Da es ein Array von Arrays ist, wird es bei der Instanziierung ein Array von nicht-instantiierten Arrays sein (z. B. null references). Sie müssen dann jedes dieser Arrays erneut zuweisen, um sie zu verwenden.

    
Lucero 17.07.2011 10:42
quelle
0

Solange ich weiß, können wir Array nicht instantiieren, ohne seine Größe zu kennen. Warum versuchst du nicht ein Array of List? So:

%Vor%

Mit List, add, select, Eingabeelementen ist trivial. Wenn Sie es als Parameter in anderen Funktionen angeben möchten, definieren Sie einfach Typ.

    
Khoa Le 17.07.2011 10:47
quelle

Tags und Links