相关疑难解决方法(0)

**可以*静态的C#方法应该是静态的吗?

C#方法可以是静态的吗?

我们今天正在讨论这个问题,我有点蠢蠢欲动.想象一下,你有一个很长的方法,你可以重构几行.新方法可能从父方法中获取一些局部变量并返回一个值.这意味着它可能是静态的.

问题是:它应该是静态的吗?它不是设计或选择的静态,仅仅是因为它不引用任何实例值.

c# methods static

101
推荐指数
9
解决办法
1万
查看次数

静态与非静态方法

假设您在非静态类中有一些可以变为静态的方法.
例如:

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)

即使有一些性能或内存增益,编译器也不会在编译时进行简单的优化吗?


编辑:我正在寻找的是将方法声明为静态的好处.我知道这是常见做法.我想了解它背后的逻辑.
当然,这种方法只是澄清我的意图的一个例子.

c# performance

30
推荐指数
3
解决办法
2万
查看次数

什么是更好的?静态方法或实例方法

我发现有两种类型的方法称为静态方法和实例方法及其差异.但我仍然无法理解一个人的优势.

有时我觉得静态方法不是100%面向对象的.

这两者之间是否有任何性能差异.

有人可以帮忙吗?

c#

6
推荐指数
4
解决办法
3188
查看次数

标签 统计

c# ×3

methods ×1

performance ×1

static ×1