静态成员与该类相关联,而不与该类的任何实例相关联。
由于我们在谈论.Net,因此请考虑String类,尤其是Split和Join方法。
拆分是一个实例方法。创建一个String变量,给它一个值,您可以在该变量/值上调用Split()并返回一个“ bits”数组:
String s1 = "abc,def,ghi" ;
String[] array2 = s1.Split( ',' ) ;
因此,对于实例方法,在给定的类实例内保存的值很重要。
Join是一种静态方法。好的,给定分隔符和String数组时,它会产生String 结果,因此它与String类“有关系”,但它与任何String实例中的任何特定值都不相关(实际上,实例值是不适用于静态方法)。
在其他语言中,Join方法可能已经“粘在” Array类(或者可能更好的是StringArray类)上,但是我们在Redmond的Friends认为它与String类更“相关”,因此他们将其放在那里。
String[] array3 = { ... }
s1 = String.Join( array3, "," ) ;
另一个替代方法可能是有一个实例 Join方法,其中保存在String [类实例]中的值用作连接分隔符,例如:
// Maybe one day ...
String s4 = "," ;
s1 = s4.Join( array3 ) ;