Typisierte N-Tupel in C # darstellen

8
%Vor%

Was ist der beste Weg, um diese Funktionalität in C # zu bekommen? Ich möchte ein stark typisiertes Tupel im laufenden Betrieb definieren (zur Verwendung in einer lokalen Funktion), einige davon in einer Liste speichern, einige Bearbeitungen vornehmen und ein Ergebnis zurückgeben, um die Liste nie wieder zu berühren.

Ich interessiere mich nicht wirklich für das starke Tippen, aber eine Liste von vars funktioniert nicht. Will ich eine Liste von Objekten? Ist das der nächste, den ich bekommen kann?

Das Definieren von Strukturen oder Klassen für temporäre Datenstrukturen erscheint mir ausführlich und pedantisch.

    
John Shedletsky 05.04.2011, 21:32
quelle

7 Antworten

7

Der beste Weg, dies in C # darzustellen, ist die Verwendung von Tuple type

%Vor%

Es gibt keine explizite Sprachunterstützung für Tupel, aber wie Sie sehen können, ist die API nicht too worry

    
JaredPar 05.04.2011, 21:35
quelle
6
%Vor%

ist am einfachsten; Dies ist eigentlich ein Array, aber eine Liste ist auch einfach genug - vielleicht .ToList() , wenn Sie sich faul fühlen.

Persönlich würde ich in diesem Szenario einen Anon-Typ verwenden:

%Vor%

Sehr ähnlich, außer dass die Mitgliedsnamen aussagekräftiger sind.

    
Marc Gravell 05.04.2011 21:35
quelle
2
%Vor%

Weitere Informationen zur Klasse Tuple .

    
David Ruttka 05.04.2011 21:36
quelle
2

Alternativ können Sie anonyme Typen verwenden zu Tuples.

Beispiel für die Initialisierung eines Arrays von Anontypen und Schleifen über das Ergebnis:

%Vor%     
Paul Sasik 05.04.2011 21:35
quelle
1

Wenn Sie C # 4.0 verwenden, können Sie den Tuple -Typ verwenden

    
devdigital 05.04.2011 21:35
quelle
1

Haben Sie sich die Klasse Tuple angesehen, die in .NET 4.0 eingeführt wurde ?

Eine weitere Option ist die Verwendung von anonymen Typen .

    
Oded 05.04.2011 21:35
quelle
1

Der einfachste Weg, den ich mir vorstellen kann, wäre Tupel zu benutzen:

%Vor%

Alternativ können Sie auch eine Liste von Dynamiken verwenden

    
faester 05.04.2011 21:40
quelle

Tags und Links