gpt4 book ai didi

c# - 太多的扩展方法会降低性能吗?怎么运行的

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:49 24 4
gpt4 key购买 nike

我是 csharp 4 的忠实粉丝..我在 string object (.net types) 中添加了太多方法作为扩展方法考虑大约 200这会降低性能吗?

.nets library里加这么多方法对吗?扩展方法实际上是如何在内部工作的……?

最佳答案

好吧,无论如何它都不会影响运行时性能。因为“扩展方法”只是编译器的把戏。在幕后,它们只是静态类中的静态方法。

public static class MyExt
{
public static void MyExtension(this object obj)
{
//Do something
}
}
public static void Main()
{
object obj = new object();
obj.MyExtension();
//Above line gets compiled into MyExt.MyExtension(obj);
}

如您所见,obj.MyExtension(); 被编译成 MyExt.MyExtension(obj);,它只是一个方法调用而已。 无需担心性能

如果您完全担心性能,我会说它不会损害“运行时性能”,尽管它可能会或可能不会损害编译时性能,编译器需要查找当前命名空间中是否还定义了任何扩展方法作为导入的命名空间。

但这并不难,因为编译器只需要检查 static 类。没有图书馆会拥有大量的“静态类”。

关于c# - 太多的扩展方法会降低性能吗?怎么运行的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19909642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com