在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