为什么可以使用非静态的静态方法?

时间:2019-05-19 23:40:27

标签: c# .net static-methods

我是C#的新手,只是一个关于使用静态方法的设计思想的问题。例如,我们知道Char是struct并具有以下静态方法:

public static bool IsDigit(Char c);

因此,当我们检查字符是否为数字时,我们可以进行编码:

char myChar = '8';
if (char.IsDigit(myChar)) {
   ...
}

但是为什么语言实施者会做出这个特定的设计决定?他们还可以将其设置为非静态,例如:

public bool IsDigit();

所以我们可以这样编码:

char myChar = '8';
if (myChar.IsDigit()) {
   ...
}

1 个答案:

答案 0 :(得分:-1)

我们通常使用静态方法来定义实用程序功能(它们是不需要实例的功能)。如果该函数不是实用程序函数,则将其设为实例方法