相关疑难解决方法(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万
查看次数

IEnumerable和Array,IList和List之间有什么区别?

IEnumerable和之间有什么区别Array

IList和之间有什么区别List

这些似乎具有相同的功能.

c#

87
推荐指数
4
解决办法
5万
查看次数

如何创建一个扩展方法来处理带有谓词输入的bindinglist.removeall

myGenericList.RemoveAll(x => (x.StudentName == "bad student"));
Run Code Online (Sandbox Code Playgroud)

效果很好,但绑定列表没有这种方法.如何为绑定列表创建一个扩展方法,该方法将谓词作为输入,并像List的canned removeall一样进行魔术

谢谢

c# generics lambda extension-methods predicate

2
推荐指数
1
解决办法
1889
查看次数

标签 统计

c# ×2

.net ×1

extension-methods ×1

generics ×1

lambda ×1

linq ×1

performance ×1

predicate ×1