You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用LINQ从List<myObject>中提取Name属性生成新List<string>?

LINQ vs foreach:提取对象属性列表的选择

两种方式都能实现你的需求,具体选择可以从可读性、代码简洁性和实际场景来判断:

LINQ 实现的优势

  • 代码极度简洁直观,一行就能完成需求,语义清晰到直接表达你的意图:
    List<string> names = myObjectList.Select(obj => obj.Name).ToList();
    
  • 对于仅10个元素的小规模集合,LINQ带来的极小性能损耗完全可以忽略,不会成为瓶颈。

foreach 循环的适用场景

  • 如果你需要在遍历过程中加入额外逻辑(比如判断Name是否为空、做格式转换等),foreach会更灵活,调试起来也更直接:
    List<string> names = new List<string>();
    foreach (var obj in myObjectList)
    {
        // 这里可以添加额外处理逻辑
        names.Add(obj.Name);
    }
    

总结

如果只是单纯提取每个对象的Name属性,优先用LINQ,代码更简洁易维护;要是遍历过程有复杂操作,再考虑foreach循环。

内容的提问来源于stack exchange,提问作者Jesse Liberty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:12:03