gpt4 book ai didi

c# - ICollection 到字符串数组(使用字符串属性)

转载 作者:行者123 更新时间:2023-11-30 13:38:25 25 4
gpt4 key购买 nike

我有 ThingICollectionThing 有一个 string 属性 Name。我想在我的 ICollection 中获取所有 Name 的数组。我知道我可以通过迭代集合和构建数组来做到这一点,但是有没有更简洁的方法来使用 lambda 表示法来做到这一点?

最佳答案

当然,LINQ 可以让您非常轻松地做到这一点:

string[] names = things.Select(x => x.Name).ToArray();

当然,如果您只是要遍历它,则不需要 ToArray部分:

IEnumerable<string> names = things.Select(x => x.Name);

或者您可以创建一个 List<string>ToList :

List<string> names = things.Select(x => x.Name).ToList();

在所有这些情况下,您都可以使用 var而不是显式声明变量类型 - 为了清楚起见,我只在此处包含了类型。

使用 ToList可以比使用 ToArray 稍微高效一点,作为 ToArray 中的最后一步涉及从可能过大的缓冲区复制到大小合适的数组。

编辑:现在我们知道您确实确实需要一个数组,因为您事先知道大小,所以使用手动循环自己执行此操作会稍微更有效率.我肯定会使用第一种形式,直到我知道这是一个问题:)

关于c# - ICollection <T> 到字符串数组(使用字符串属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com