Могу ли я с помощью LINQ вернуть список <Person>из списка <String> - PullRequest
2 голосов
/ 30 октября 2010

Могу ли я с помощью LINQ вернуть List<Person> из List<String> следующим образом:

// this is not valid code, just to explain the idea
var persons = new string[] {"Tom", "Adam"}.ToList<Person>(str => Name = str);

Заранее спасибо.

Ответы [ 2 ]

9 голосов
/ 30 октября 2010
var people = new string[] {"Tom", "Adam"}
    .Select(str => new Person {Name = str});

Это вернет IEnumerable<Person>.Если вы хотите список:

var people = new string[] {"Tom", "Adam"}
    .Select(str => new Person {Name = str})
    .ToList();
1 голос
/ 30 октября 2010

Это тоже работает:

var names = new []{"Tom", "Adam"};
var persons = from name in names
              select new Person {Name = name};

и тогда вам придется сделать:

var personsList = persons.ToList();

для материализации выражения LINQ в List<Person> экземпляре.

...