1

什么时候不应该使用 LINQ To Objects?

有人问过这个问题的反面,但没有涵盖何时不使用 L2O。

4

4 回答 4

1

一个原因是当性能不是您所需要的。如果 的底层实现IEnumerable没有索引器,则调用Last(), Skip(), ElementAt()等可能会导致 O(Bad) 性能下降。

于 2009-09-10T13:39:42.913 回答
1

我同意其他人的观点,即:

  • 没有 3.0+
  • 性能不是一个大问题

但是,要添加到列表中的另一个事实是它可能导致不良的编码实践。一个简单(也许很愚蠢)的例子是.Distinct()太容易使用一种方法。在 SQL 中也是如此,有时快捷方式会给出错误的代码,这可能会导致未知且难以定位的错误。

我想这可能发生在任何事情上,但快捷方式可以让糟糕的编码变得更容易。

于 2009-09-10T13:50:12.047 回答
0

对我来说,当我在基于 .Net 2.0 的项目中编程时没有这样的选择时。

于 2009-09-10T13:33:38.610 回答
0

释义,当:

  • 您没有某些数据项的集合
  • 您不想要另一个集合,它是由原始集合形成的,但经过某种转换或过滤。这可能是排序、投影、应用谓词、分组等。

在简历中,您不会操作任何类型的对象组。而且,当然,当您没有 c# 3.0 或更高版本时。

于 2009-09-10T13:34:05.627 回答