/ Conversione da tupla a tupla - c #, .net

Conversione da tupla a tupla - c #, .net

C'è un modo semplice per convertire Tuple<int, string, Guid> a Tuple<int, string>?

AGGIORNARE: ... convertire List<Tuple<int, string, Guid>> a List<Tuple<int, string>> ?

risposte:

7 per risposta № 1

sicuro:

Tuple<int, string, Guid> t1 = ...;
Tuple<int, string> t2 = new Tuple<int, string>(t1.Item1, t1.Item2);

Aggiornare:
Con la lista:

List<Tuple<int, string, Guid>> t1s = ...;
List<Tuple<int, string>> t2s = t1s.Select(t1 => new Tuple<int, string>(t1.Item1, t1.Item2)).ToList();

4 per risposta № 2

Per la domanda aggiornata ...

var result = tuples.Select(t => Tuple.Create(t.Item1, t.Item2)).ToList();

... dovrebbe fare il trucco

Questo prende l'elenco originale tuples e proietta ogni 3 tuple t nella desiderata 2-tupla; il risultato di questo è un IEnumerable<Tuple<int, string>> che può essere sufficiente se si può lavorare con una sequenza lenta, ma come hai indicato di volere una lista, questo è possibile aggiungendo un .ToList() chiamata.


1 per risposta № 3
var myNewList = myList.Select(t => new Tuple<int, string>(t.Item1, t.Item2)).ToList();