使用LINQ将方法应用于enumerable中的所有元素

本文关键字:元素 enumerable LINQ 方法 应用于 使用 | 更新日期: 2023-09-27 18:15:14

我有一个列表,试图完成以下任务。我想为列表中的每个项目运行一个映射程序方法。。。似乎无法获得正确的语法

var viewModelList = result.MyEnumerable.Select(MyMapper(item goes here))
 public static MyViewModel MyMapper(Item item)
        {
            var viewModel = new MyViewModel();
            //do some stuff
            return viewModel;
        }

使用LINQ将方法应用于enumerable中的所有元素

您可以使用:

result.MyEnumerable.Select(r => MyMapper(r));

或者使用一个方法组:

result.MyEnumerable.Select(MyMapper);
result.MyEnumerable.Select(x => MyMapper(x));

或更多浓缩

result.MyEnumerable.Select(x => new MyViewModel
{
    // use x in here
});

像这样使用

var viewModelList = result.MyEnumerable.Select(s=> MyMapper(s))
 public static MyViewModel MyMapper(Item item)
    {
        var viewModel = new MyViewModel();
        //do some stuff
        return viewModel;
    }