【问题标题】:How to modify each element of a list into a new list?如何将列表的每个元素修改为新列表?
【发布时间】:2020-08-31 17:13:13
【问题描述】:

我想学习如何使用 => 或 ForEach 或其他东西来执行以下代码。它基本上是获取List1的所有元素,对其进行修改,然后将其存储到一个新的List2中。 List1 没有改变。

//List1 exists from before
List<string> List2 = new List<string>();
foreach (element in List1)
{
    List2.Add(element + " concact string");
}

有没有一种简单的方法可以以更简洁/可读的方式编写此代码?

【问题讨论】:

  • var List2 = List1.Select(element =&gt; element + " concat string").ToList();

标签: c# list foreach


【解决方案1】:

使用System.Linq扩展方法Select,很简单的从List1中选择每一项,修改它,返回结果为一个新的List&lt;string&gt;

List<string> List2 = List1.Select(element => element + " concat string").ToList();

【讨论】:

  • 这里'Select'方法的参数叫做Lambda Expression?
  • 是的,您可以阅读更多关于他们的信息here
【解决方案2】:
 var newList = List1.Select(x => x.Concat(" concact string")).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2022-07-25
    • 2018-06-21
    • 1970-01-01
    • 2019-10-29
    • 2015-03-31
    相关资源
    最近更新 更多