简体   繁体   English

将方法应用于LINQ可枚举的所有元素

[英]Apply method to all elements in enumerable with LINQ

I have a list, trying to accomplish the following. 我有一个列表,试图完成以下任务。 I want to run a mapper method for each item in the list...can't seem to get the syntax correct 我想为列表中的每个项目运行一个mapper方法...似乎语法不正确

var viewModelList = result.MyEnumerable.Select(MyMapper(item goes here))

 public static MyViewModel MyMapper(Item item)
        {
            var viewModel = new MyViewModel();
            //do some stuff
            return viewModel;
        }

You can either use: 您可以使用:

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

or use a method group: 或使用方法组:

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

or more condensed 或更浓缩

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

Use like this 这样使用

var viewModelList = result.MyEnumerable.Select(s=> MyMapper(s))

 public static MyViewModel MyMapper(Item item)
    {
        var viewModel = new MyViewModel();
        //do some stuff
        return viewModel;
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM