Ich möchte ein zweidimensionales Array von Strings erstellen, bei dem die Länge einer Dimension 2 ist. Ähnlich wie bei
%Vor%Machen
%Vor%gibt mir
%Vor%aber nicht
%Vor%Array.
Nur neugierig, gibt es einen Trick, dynamisch zu bauen
%Vor%Array irgendwie?
Nun, Sie könnten einigermaßen leicht eine Erweiterungsmethode schreiben, um das zu tun. So etwas (nur sehr leicht getestet):
%Vor% Es ist eine kleine Schande, dass der obige Code T [] als Elementtyp verwendet. Aufgrund der generischen Invarianz kann ich zur Zeit keine Quelle IEnumerable<IEnumerable<T>>
erstellen, was nett wäre. Eine Alternative könnte die Einführung eines neuen Typparameters mit einer Einschränkung sein:
Etwas behaart, aber es sollte funktionieren. (Natürlich erfordert die Implementierung auch einige Änderungen, aber das Grundprinzip ist das gleiche.)
Die einzige Möglichkeit wäre, die Funktion ToArray()
selbst zu implementieren. Sie könnten es in Ihrer eigenen Sammlung implementieren (d. H.% Co_de%). Dies könnte genauso funktionieren wie StringTupleCollection
(d. H. Internes Array wird bei Bedarf größer).
Ich bin mir jedoch nicht sicher, ob der Vorteil von ArrayList
über [x,2]
(oder sogar [x][2]
signifikant genug wäre, um den Aufwand zu rechtfertigen.
Sie könnten auch eine Klasse List<string[2]>
wie folgt schreiben:
Dies ist nicht möglich mit List<string[]>
, da sich der Typ string[,]
von string[]
unterscheidet.
KeyValuePair funktionierte nicht für mich, wenn ich die Werte der Checkboxen auf dem Controller abrufen musste, da mein Modell. Die Liste der Zeilen war null.
%Vor%Die KeyValuePair-Struktur verfügt nicht über einen parameterlosen Standardkonstruktor und kann nicht vom Modellbinder instanziiert werden. Ich empfehle eine benutzerdefinierte Modellklasse für Ihre Ansicht mit genau diesen Eigenschaften. ASP.NET MVC 3 Bindung Benutzerkontrolle vom Typ KeyValuePair zu ViewModel
Ich fand eine Implementierung einer Checkbox-Liste ohne die Verwendung von HTML-Helfer unter dem folgenden Link CheckboxList in MVC3. 0
Tags und Links arrays c# generics data-structures