2013-05-24 1 views
0

У меня есть список, который пытается выполнить следующее. Я хочу, чтобы запустить метод картографа для каждого элемента в списке ... не может получить синтаксис правильногоПрименить метод ко всем элементам, перечисленным в LINQ

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

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

ответ

6

Вы можете использовать:

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

или использовать метод группы:

result.MyEnumerable.Select(MyMapper); 
+0

Мне нравится вариант группового метода, спасибо! –

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

или более сгущенного

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

Используйте как этот

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

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