.net - 将 IEnumerable 转换为列表

标签 .net linq list collections ienumerable

如果我想将 Enumerable ( IEnumerable<T> ) 转换为列表。

什么更有效:

  • myEnumerable.ToList()
  • new List<T>(myEnumerable)

  • 谢谢!

    最佳答案

    它们或多或少需要相同的时间来执行,但 new List<T>(myEnumerable)快一点。
    myEnumerable.ToList()会做 new List<T>(myEnumerable)在引擎盖下,但它会首先检查集合是否为空,如果是则抛出异常。如果您知道 myEnumerable 不为空,那么您可以使用 ToList()。

    但是,在我看来,编写最容易阅读的代码。这是一个微优化,你不应该花太多时间。

    关于.net - 将 IEnumerable 转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16790566/

    相关文章:

    string - Erlang 如何从这个二进制文件 <<"a,b,c">> 中创建一个列表

    python 删除重复项

    c# - 我应该在我的 LINQ 查询中使用两个 "where"子句还是 "&&"?

    c# - SslStream.AuthenticateAsClient 异常(消息格式错误)

    asp.net - GetCountries 从 .NET 不提供所有国家?

    .net - CultureInfo.CurrentCulture.DateTimeFormat.AbbreviatedDayNames 问题

    c# - 对可为空值的多个可能组合执行 Linq 操作

    c# - 比较两个相同的字符串列表

    c++ - 什么列表[i]++;应该做什么?

    c# - 共享字典的 WCF 方法