LINQ конвертировать IEnumerable <string>в список <ulong> - PullRequest
0 голосов
/ 29 августа 2010

У меня есть следующий код:

var personIds = from player in myPlayers select player.person_id;

, где personIds - это IEnumerable<string>, который я хотел бы преобразовать в List<ulong>, поскольку person_id можно преобразовать с помощью Convert.ToUInt64()

Легко ли это сделать в LINQ?

Ответы [ 3 ]

14 голосов
/ 29 августа 2010

Вместо того, чтобы конвертировать ваши существующие personIds, я бы сделал это одним запросом:

var personIds = myPlayers.Select(player => Convert.ToUInt64(player.person_id))
                         .ToList();

По крайней мере, я бы сделал это, если вы также не нуждались в IEnumerable<string> для чего-то другого, в этом случае вы могли бы использовать ответ Ника.

Я бы также посмотрел, можете ли вы изменить тип person_id ... если это всегда текстпредставление ulong, почему это строка в первую очередь?

4 голосов
/ 29 августа 2010

Вы можете сделать это так:

var personIds = from player in myPlayers select player.person_id;
List<ulong> result = personIds.Select(id => Convert.ToUInt64(id)).ToList();
1 голос
/ 29 августа 2010
var personIds = (from player in myPlayers select Convert.ToUInt64(player.person_id)).ToList();
...