C#中将元组列表转换为仅包含第一个元素的列表

3
字典中,我可以像下面的代码一样获取其/列表:
    Dictionary<string, string> dictionary = new Dictionary<string, string>();
    List<string> list_of_first_elements = new List<string>();
    list_of_first_elements = new List<string> (dictionary.Keys);

有没有一种属性/方法可以在不循环列表并添加其第一个/第二个元素的情况下,以与 List<Tuple> 相同的方式进行操作?类似于这样:

        List<Tuple<string, string>> list_of_tuples = new List<Tuple<string, string>>();
        list_of_first_elements = """SomeCode""";

4
使用 Linq:list_of_tuples.Select(_ => _.Item1).ToList() 可以得到列表中第一个元素的列表。 - Klaus Gütter
2
没有这样的方法。你可以使用LINQ,但它仍然会枚举所有元素,这本质上是一个循环。 - tukaef
1
就性能而言,它们几乎是相同的。因此,我更喜欢LINQ,因为它似乎更清晰明了。 - tukaef
1个回答

9

正如@KlausGütter和@2kay所提到的,我使用了LINQ来完成这个任务,它的性能几乎与循环遍历List相当,但它更加清晰易懂,下面是代码:

list_of_first_elements = list_of_tuples.Select(_ => _.Item1).ToList();

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