namespace study_static { /// <summary> /// 通过static关键字修饰,是属于类,实例成员属于对象,在这个类第一次加载的时候,这个类下面的所有静态成员会被加载。 /// 静态成员只被创建一次,所以静态成员只有一份,实例成员有多少个对象,就有多少份。 /// 编译器不允许静态类有任何实例成员 /// </summary> static class StaticTest { public static string Name; /// <summary> /// 1、静态类可以有静态构造函数,静态构造函数不可继承; /// 2、静态构造函数可以用于静态类,也可用于非静态类; /// 3、静态构造函数无访问修饰符、无参数,只有一个 static 标志; /// 4、静态构造函数不可被直接调用,当创建类实例或引用任何静态成员之前,静态构造函数被自动执行,并且只执行一次。 /// </summary> static StaticTest() { Name = "gongyg"; } /// <summary> /// 为原始类型扩展方法 /// 使用this时,类必须为static /// </summary> /// <param name="param"></param> /// <returns></returns> public static string ToString2(this string param) { if (param == null) { return ""; } return param.Trim(); } } }
using System; namespace study_static { class Program { static void Main(string[] args) { Console.WriteLine(StaticTest.Name);//gongyg string str = " 12 "; Console.WriteLine(str); Console.WriteLine(str.ToString2()); } } }