[英]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.