【问题标题】:For each item in list of classes对于类列表中的每个项目
【发布时间】:2018-07-03 10:05:29
【问题描述】:

我很确定以前有人问过这个问题,但我不确定要搜索什么,所以如果已经有人问过这个问题,请指导我。

通常,我会做这样的事情

List<string> values = new List<string>();
foreach (MyClass workingClass in AllTheClasses)
{
    string val = workingClass.SomeField);
    values.Add(val);
}

但是,我想使用这样的东西:

List<string> values = AllTheClasses.ToList(SomeField);

有没有更好的方法来做到这一点?

【问题讨论】:

  • AllTheClasses.Select(c=&gt;c.SomeField).ToList() 有什么问题吗?
  • AllTheClasses 是一个列表吗?
  • @mshsayem,这正是我所需要的,非常感谢。你想让我把它标记为答案吗?
  • @Hey24sheep,是的。它是一个 List
  • 除了 LINQ 的 ToList() 之外,大多数容器都有一个构造函数,它接受 IEnumerable&lt;T&gt; 作为输入,将枚举的内容复制到容器中。有些还具有AddRange 方法,允许将 IEnumerable 添加到现有容器

标签: c# list enumerable


【解决方案1】:

Linq 方式:

var values = AllTheClasses.Select(c=>c.SomeField).ToList();

【讨论】:

    猜你喜欢
    • 2011-09-16
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 2022-11-07
    • 1970-01-01
    • 2013-03-05
    • 2018-02-04
    相关资源
    最近更新 更多