diff --git a/Infrastructure/Extensions/StringExtension.cs b/Infrastructure/Extensions/StringExtension.cs
index 60315e2..46c1baa 100644
--- a/Infrastructure/Extensions/StringExtension.cs
+++ b/Infrastructure/Extensions/StringExtension.cs
@@ -39,7 +39,72 @@ namespace Infrastructure.Extensions
{
Regex regEx = new Regex(oldValue, RegexOptions.Multiline);
return regEx.Replace(input, newValue == null ? "" : newValue, 1);
-
}
+
+ ///
+ /// 骆驼峰转下划线
+ ///
+ ///
+ ///
+ public static string ToSmallCamelCase(string name)
+ {
+ var stringBuilder = new StringBuilder();
+ stringBuilder.Append(name.Substring(0, 1).ToLower());
+
+ for (var i = 0; i < name.Length; i++)
+ {
+ if (i == 0)
+ {
+ stringBuilder.Append(name.Substring(0, 1).ToLower());
+ }
+ else
+ {
+ if (name[i] >= 'A' && name[i] <= 'Z')
+ {
+ stringBuilder.Append($"_{name.Substring(i, 1).ToLower()}");
+ }
+ else
+ {
+ stringBuilder.Append(name[i]);
+ }
+ }
+ }
+
+ return stringBuilder.ToString();
+ }
+
+ ///
+ /// 下划线命名转驼峰命名
+ ///
+ ///
+ ///
+ public static string UnderScoreToCamelCase(this string underscore)
+ {
+ string[] ss = underscore.Split("_");
+ if (ss.Length == 1)
+ {
+ return underscore;
+ }
+
+ StringBuilder sb = new StringBuilder();
+ sb.Append(ss[0]);
+ for (int i = 1; i < ss.Length; i++)
+ {
+ sb.Append(ss[i].FirstUpperCase());
+ }
+
+ return sb.ToString();
+ }
+
+ ///
+ /// 首字母转大写
+ ///
+ ///
+ ///
+ public static string FirstUpperCase(this string str)
+ {
+ return string.IsNullOrEmpty(str) ? str : str.Substring(0, 1).ToUpper() + str[1..];
+ }
+
}
}