假设您在非静态类中有一些可以变为静态的方法.
例如:
private double power(double a, double b)
{
return (Math.Pow(a, b));
}
Run Code Online (Sandbox Code Playgroud)
您是否看到将方法签名更改为静态有什么好处?在上面的例子中:
private static double power(double a, double b)
{
return (Math.Pow(a, b));
}
Run Code Online (Sandbox Code Playgroud)
即使有一些性能或内存增益,编译器也不会在编译时进行简单的优化吗?
如果将方法声明为static,应该会有轻微的性能提升,因为编译器将发出callIL指令而不是callvirt.
但就像其他人所说的那样,无论如何它应该是静态的,因为它与特定的实例无关