LINQ将IEnumerable <string>转换为List <ulong> </ulong> </string>

时间:2010-08-28 20:59:00

标签: c# linq list ienumerable

我有以下代码:

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

其中personIds是我要转换为IEnumerable<string>的{​​{1}},因为List<ulong>可通过person_id转换

这可以在LINQ中轻松完成吗?

3 个答案:

答案 0 :(得分:14)

不是转换现有的personIds,而是在一个查询中执行此操作:

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

至少,我会这样做,除非你需要IEnumerable<string>来做其他事情,在这种情况下你可以使用Nick的答案。

看看你是否可以更改person_id的类型...如果它始终是ulong的文本表示,为什么它是一个字符串in第一名?

答案 1 :(得分:4)

你可以这样做:

var personIds = from player in myPlayers select player.person_id;
List<ulong> result = personIds.Select(id => Convert.ToUInt64(id)).ToList();

答案 2 :(得分:1)

var personIds = (from player in myPlayers select Convert.ToUInt64(player.person_id)).ToList();