在 .NET 的世界中,一般习惯对公开的信息(类名、属性名、方法名等)使用大驼峰命名法(CamelCase)。比如常见的 Console 类型、Title 属性以及 WriteLine 方法。
除了大驼峰命名法,常见的还有小驼峰命名法以及蛇形命名法。
小驼峰式命名法(lower camel case)
第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。这种命名法在 JavaScript 中很常见,比如:document.getElementsByTagName('body')
。
蛇形命名法(snake case)
蛇形法是全由小写字母和下划线组成,在两个单词之间用下滑线连接。例如:first_name、last_name 。这种命名法在 PHP 中很常见,比如: function_exists()
。
使用 C# 将大驼峰转换为小驼峰或蛇形命名法
以下两个静态方法可以分别实现大驼峰到小驼峰和蛇形命名的转换:
/// <summary>将大驼峰命名转为小驼峰命名</summary> public static string RenameCamelCase(string str) { var firstChar = str[0]; if (firstChar == char.ToLowerInvariant(firstChar)) { return str; } var name = str.ToCharArray(); name[0] = char.ToLowerInvariant(firstChar); return new String(name); } /// <summary>将大驼峰命名转为蛇形命名</summary> public static string RenameSnakeCase(string str) { var builder = new StringBuilder(); var name = str; var previousUpper = false; for (var i = 0; i < name.Length; i++) { var c = name[i]; if (char.IsUpper(c)) { if (i > 0 && !previousUpper) { builder.Append("_"); } builder.Append(char.ToLowerInvariant(c)); previousUpper = true; } else { builder.Append(c); previousUpper = false; } } return builder.ToString(); }
测试代码:
Console.WriteLine(RenameCamelCase("CoderBusy"));//输出: coderBusy Console.WriteLine(RenameSnakeCase("CoderBusy"));//输出: coder_busy