在LINQ查询中调用ToList()或ToArray()会更好吗?
我经常遇到我想在我声明它的地方评估查询的情况。这通常是因为我需要多次迭代它并且计算起来很昂贵。例如:
string raw = "...";var lines = (from l in raw.Split('\n')
let ll = l.Trim()
where !string.IsNullOrEmpty(ll)
select ll).ToList();这很好用。但是,如果我不打算修改结果,那么我不妨打电话给ToArray()而不是ToList()。
我想知道是否ToArray()通过第一次调用实现,ToList()因此内存效率低于仅调用ToList()。
我疯了吗?我应该只是打电话ToArray()- 安全且安全地知道内存不会被分配两次吗?
叮当猫咪
ibeautiful
慕桂英4014372