gpt4 book ai didi

c# - 使用 lambda 表达式将对象列表从一种类型转换为另一种类型

转载 作者:IT王子 更新时间:2023-10-29 03:29:46 26 4
gpt4 key购买 nike

我有一个 foreach 循环读取一种类型的对象列表并生成不同类型的对象列表。有人告诉我,lambda 表达式可以达到相同的结果。

var origList = List<OrigType>(); // assume populated
var targetList = List<TargetType>();

foreach(OrigType a in origList) {
targetList.Add(new TargetType() {SomeValue = a.SomeValue});
}

任何帮助将不胜感激 - 我是 lambda 和 linq 的新手谢谢,

最佳答案

尝试以下操作

var targetList = origList
.Select(x => new TargetType() { SomeValue = x.SomeValue })
.ToList();

这是结合使用 Lambdas 和 LINQ 来实现的解决方案。 Select 函数是一种投影样式方法,它将把传入的委托(delegate)(或本例中的 lambda)应用于原始集合中的每个值。结果将在新的 IEnumerable<TargetType> 中返回. .ToList 调用是一种扩展方法,它将转换此 IEnumerable<TargetType>进入 List<TargetType> .

关于c# - 使用 lambda 表达式将对象列表从一种类型转换为另一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909268/

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