有没有简单的方法可以将Tuple<int, string, Guid>
转换为Tuple<int, string>
?
更新:
...将List<Tuple<int, string, Guid>>
转换为List<Tuple<int, string>>
?
答案 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();