扩展方法:使用太多时的性能问题?

时间:2012-02-09 10:29:52

标签: c# .net performance extension-methods

  

可能重复:
  Extension Method Performance

当我以任何方式使用扩展方法时,我是否会遇到性能问题?

只是一个例子:

假设我在类型字符串上有100个扩展方法,并且有一个具有50个字符串属性的业务对象。 现在我创建了这个业务对象的集合,可能有500个项目?

字符串上的这些扩展方法对RAM,CPU,......有什么影响吗?

我非常喜欢扩展方法,但我想知道它的用法是否存在限制。

4 个答案:

答案 0 :(得分:13)

不,你不会。

扩展方法只是普通的静态方法,带有一些语法糖。尽可能多地使用它们:)

答案 1 :(得分:5)

你可能会在IDE中降低智能感知速度 - 并且可能使智能感知列表有点笨拙,但它对代码本身的执行不会对任何其他静态方法产生任何影响。

答案 2 :(得分:3)

扩展方法是静态类的一部分,它是一个语法糖,因为模拟一些静态方法是其他类的实例方法。

总之,这里没有性能损失。它与ExtensionMethods.YourExtensionMethod(objectToAddMethod)objectToAddMethod.YourExtensionMethod()相同。

答案 3 :(得分:1)

我认为这是重复的:

请参阅:Is there a performance hit for creating Extension methods that operate off the object type?

那里的答案很好地解释了这一点!