相关疑难解决方法(0)

在LINQ查询中调用ToList()或ToArray()会更好吗?

我经常遇到我想在我声明它的地方评估查询的情况.这通常是因为我需要多次迭代它并且计算起来很昂贵.例如:

string raw = "...";
var lines = (from l in raw.Split('\n')
             let ll = l.Trim()
             where !string.IsNullOrEmpty(ll)
             select ll).ToList();
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,如果我不打算修改结果,那么我不妨打电话给ToArray()而不是ToList().

我想知道是否ToArray()通过第一次调用实现,ToList()因此内存效率低于仅调用ToList().

我疯了吗?我应该只是打电话ToArray()- 安全且安全地知道内存不会被分配两次吗?

.net linq performance

488
推荐指数
15
解决办法
8万
查看次数

C#List <T> .ToArray表现不好?

我正在使用.Net 3.5(C#),我听说C#的性能List<T>.ToArray"糟糕",因为它为所有元素的内存副本形成了一个新的数组.真的吗?

.net c# memory performance

26
推荐指数
3
解决办法
3万
查看次数

标签 统计

.net ×2

performance ×2

c# ×1

linq ×1

memory ×1