元组转换为元组

时间:2011-03-31 11:14:23

标签: c# .net

有没有简单的方法可以将Tuple<int, string, Guid>转换为Tuple<int, string>

更新: ...将List<Tuple<int, string, Guid>>转换为List<Tuple<int, string>>

3 个答案:

答案 0 :(得分:7)

确定:

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

<强>更新
列表:

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

答案 1 :(得分:4)

对于更新的问题......

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

......应该这样做。

这将获取原始列表tuples并将每个3元组t投影到所需的2元组中;结果是IEnumerable<Tuple<int, string>>,如果您可以使用延迟序列,这可能就足够了,但正如您所指出的那样,您需要一个列表,这可以通过附加.ToList()调用来实现。

答案 2 :(得分:1)

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