2014-01-14 2 views
1

Есть ли способ уменьшить этот getter примерно до одной строки, используя что-то вроде linq? Я сделал обыск и ничего не нашел. Просто любопытно.Получить список переменных из списка (используя Linq?)

private List<UserItem> userItems 
{ 
    get 
    { 
     List<UserItem> list = new List<UserItem>(); 

     foreach (var item in items) { 
      list.Add(item.UserItem); 
     } 

     return list; 
    } 
} 
+0

Почему вы всегда создаете новый список? –

+3

'Список list = new Список ();' - не повторяйте себя. это не ява ради Бога. используйте 'var'. –

+0

@HighCore var list = new Список (); Нравится? –

ответ

5

Просто:

get { 
    return items.Select(x => x.UserItem).ToList(); 
} 

MSDN Ссылка для Select: http://msdn.microsoft.com/en-us/library/bb548891(v=vs.110).aspx

В основном это проекты, что вы хотите в новый список. В приведенном выше примере мы проектируем каждое свойство UserItem объектов в вашей коллекции items в список.

+0

Спасибо! Это абсолютно то, чего я хотел. Приветствия :) –

Смежные вопросы