在C#中将元组IEnumerable转换为List<string>

4

我想将元组 IEnumerable 转换成一个 List<string>。 例如,如果有以下代码:

public static IEnumerable<Tuple<string, Type>> GetWord(String formula) 

如何直接将可枚举对象传递到新的List<string>构造函数中?谢谢!

1
你的问题不是很清楚,但是如果要将 IEnumerable<T> 转换为 List<V>,你可以使用 Linq 的 SelectToList 方法。 - vc 74
2个回答

7

Select 可能是你想要的。

var list = new List<string>(GetWord.Select(x => x.Item1));

1
尽管这个答案完全符合OP的要求(除了你忘了GetWord是一个方法),但在这种情况下,我认为Fabio的.ToList()答案更符合习惯用法。 - Flater
2
@Flater 我认为这样做的唯一原因是,因为 OP 明确要求“如何直接将可枚举对象传递到新 List<string> 的构造函数中”。 - Maytham Fahmi

2

使用 Select 扩展方法,您可以将元组的可枚举对象转换为字符串的可枚举对象。
然后,您可以使用 ToList 扩展方法创建一个 List<string>,而无需显式地将可枚举对象传递给 List 构造函数。

最初的回答:

var list = GetWord(formula).Select(t => t.Item1).ToList();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接