using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;namespace sqlDoc{public static class StringHelp{/// <summary>/// Net关键字/// </summary>public static List<string> NetKeyword = new List<string>() { "event", "params", "fixed" };/// <summary>/// mysql的数据类型转为net的数据类型/// </summary>/// <param name="MySqlType"> mysql的数据类型</param>/// <param name="IsNull">可否为空</param>/// <returns>net的数据</returns>public static string MySqlTypeToNetType(string MySqlType, bool IsNull){string tLower = MySqlType.ToLower();string returnVal = "string";if (tLower.Contains("varchar") || tLower.Contains("text")){returnVal = "string";}else if (tLower.Contains("int")){returnVal = "int";}else if (tLower.Contains("float") || tLower.Contains("double")){returnVal = "double";}else if (tLower.Contains("float") || tLower.Contains("double")){returnVal = "double";}else if (tLower.Contains("timestamp")){//returnVal = "DateTimeOffset";returnVal = "DateTime";}else if (tLower.Contains("date") || tLower.Contains("time")){returnVal = "DateTime";}else{returnVal = "string";}if (returnVal != "string" && IsNull){returnVal += "?";}return returnVal;}/// <summary>/// 得到C#可用的属性名称/// </summary>/// <param name="lineName">名称规范</param>/// <returns></returns>public static string GetNetAttributeName(string lineName, NameNorm nameNorm){string newName = lineName.ToNameNorm(nameNorm);if (NetKeyword.Contains(newName))return "@" + newName;return newName;}/// <summary>/// 名称到名称规范/// </summary>/// <param name="name">原名称</param>/// <param name="nameNorm">目标名称规范</param>/// <returns></returns>public static string ToNameNorm(this string name, NameNorm nameNorm){if (nameNorm == NameNorm.原名称){return name;}else{string newName = name;var isDa = Regex.IsMatch(newName, "[A-Z]");//是否包含大写var isXiao = Regex.IsMatch(newName, "[a-z]");//是否包含小写var isHen = newName.Contains('_');//是否包含_var isQDa = isDa && !isXiao && isHen;//是否为 "USER_NAME" 格式//大驼峰string dtf = string.Empty;var str_ = newName.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries);//分割_foreach (var item in str_){if (isQDa)dtf += item.Substring(0, 1).ToUpper() + item.Substring(1).ToLower();elsedtf += item.Substring(0, 1).ToUpper() + item.Substring(1);}if (nameNorm == NameNorm.大驼峰){return dtf;}else if (nameNorm == NameNorm.小驼峰){return dtf.Substring(0, 1).ToLower() + dtf.Substring(1);}else if (nameNorm == NameNorm.下划线命名法){var xiaHuaXian = Regex.Split(dtf, @"(?<!^)(?=[A-Z])");for (int i = 0; i < xiaHuaXian.Length; i++){xiaHuaXian[i] = xiaHuaXian[i].ToLower();}return string.Join("_", xiaHuaXian);}}return string.Empty;}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。