【问题标题】:LINQ Convert IEnumerable<string> to List<ulong>LINQ 将 IEnumerable<string> 转换为 List<ulong>
【发布时间】:2010-08-28 20:58:59
【问题描述】:

我有以下代码:

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

其中personIdsIEnumerable&lt;string&gt;,我想将其转换为List&lt;ulong&gt;,因为person_id 可以通过Convert.ToUInt64() 进行转换

这在 LINQ 中容易做到吗?

【问题讨论】:

  • @MainMa - 自己看看。他提出了许多没有人回答或没有得到有用答案的问题。有些人对 SO 提出棘手的问题 - 处理它!
  • 我确实会问一些棘手的问题。此外,我经常自己找到解决方案,在这种情况下,SO 无法回答您自己的问题。总的来说,我发现 SO 是一个很棒的资源!
  • 您可以回答自己的问题,按钮标题为“回答您的问题”,位于页面底部。您甚至可以将该问题标记为答案(大约一天后)。

标签: c# linq list ienumerable


【解决方案1】:

与其转换您现有的personIds,不如在一个查询中完成:

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

至少,我会这样做,除非您需要IEnumerable&lt;string&gt; 来做其他事情,在这种情况下,您可以使用尼克的答案。

我想看看你是否可以改变person_id的类型...如果它总是ulong的文本表示,为什么它首先是一个字符串?

【讨论】:

    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      【解决方案3】:
      var personIds = (from player in myPlayers select Convert.ToUInt64(player.person_id)).ToList();
      

      【讨论】:

        猜你喜欢
        • 2018-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-24
        • 2015-09-04
        • 2011-06-11
        • 2015-08-23
        • 1970-01-01
        相关资源
        最近更新 更多