在C#中将方法修饰符写为static public void而非public static void会有区别吗?
C# 中
static public 与 public static 修饰方法的差异说明 核心结论
二者没有任何功能层面的实际差异,编译器处理后的效果完全一致。
C# 语言规范未对访问修饰符、静态修饰符的书写顺序做强制约束,static public void 和 public static void 两种写法生成的IL(中间语言)代码完全相同,程序运行时不会有任何区别。
行业通用书写建议
虽然功能无差,但通常建议遵循 访问修饰符在前 的书写约定,优先使用 public static void 的格式,原因如下:
- 符合绝大多数C#开发者的编码习惯,其他开发者阅读代码时可以第一时间识别方法的访问权限,可读性更高
- 微软官方C#编码规范、.NET官方开源库的代码都统一采用该书写顺序,遵循约定可以降低团队协作的沟通成本
你可以参考下面的示例代码,两种写法的运行效果完全一致:
// 推荐写法:访问修饰符在前 public static void PrintMessage() { Console.WriteLine("Test"); } // 功能等价写法:静态修饰符在前 static public void PrintMessage() { Console.WriteLine("Test"); }
内容的提问来源于stack exchange,提问作者Alok Raj Singh
相关产品推荐
相关产品推荐

