C#通用辅助方法
Posted seven77yixuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#通用辅助方法相关的知识,希望对你有一定的参考价值。
1、将字符转换为日期格式
public static string GetTime(this string timeStamp) { //处理字符串,截取括号内的数字 var strStamp = Regex.Matches(timeStamp, @"(?<=\()((?<gp>\()|(?<-gp>\))|[^()]+)*(?(gp)(?!))").Cast<Match>().Select(t => t.Value).ToArray()[0].ToString(); //处理字符串获取+号前面的数字 var str = Convert.ToInt64(strStamp.Substring(0, strStamp.IndexOf("+"))); long timeTricks = new DateTime(1970, 1, 1).Ticks + str * 10000 + TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours * 3600 * (long)10000000; return new DateTime(timeTricks).ToString("yyyy-MM-dd HH:mm:ss"); }
2、请求字符串拼接
public static string GetQueryString<T>(T t) { PropertyInfo[] attributes = t.GetType().GetProperties(); StringBuilder sb = new StringBuilder("?"); foreach (PropertyInfo p in attributes) { if (sb.ToString().Split(‘&‘).Length > 1) { sb.Append($"&{p.Name}={p.GetValue(t)}"); } else { sb.Append($"{p.Name}={p.GetValue(t)}"); } } return sb.ToString(); }
3、把字符串按照分隔符转换成 List
public static List<string> GetStrArray(this string str, char speater, bool toLower) { if (string.IsNullOrEmpty(str)) return null; List<string> list = new List<string>(); string[] ss = str.Split(speater); foreach (string s in ss) { if (!string.IsNullOrEmpty(s) && s != speater.ToString()) { string strVal = s; if (toLower) { strVal = s.ToLower(); } list.Add(strVal); } } return list; }
4、从包含中英文的字符串中截取固定长度的一段,inputString为传入字符串,len为截取长度(一个汉字占两个位)。
public static string CutString(this string inputString, int len) { if (inputString == null || inputString == "") { return ""; } inputString = inputString.Trim(); byte[] myByte = System.Text.Encoding.Default.GetBytes(inputString); if (myByte.Length > len) { string result = ""; for (int i = 0; i < inputString.Length; i++) { byte[] tempByte = System.Text.Encoding.Default.GetBytes(result); if (tempByte.Length < len) { result += inputString.Substring(i, 1); } else { break; } } return result + "..."; } else { return inputString; } }
5、获取枚举的description的值
public static string GetEnumDescript<T>(T e) where T : struct { FieldInfo EnumInfo = e.GetType().GetField(e.ToString()); DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])EnumInfo. GetCustomAttributes(typeof(DescriptionAttribute), false); return EnumAttributes[0].Description; }
以上是关于C#通用辅助方法的主要内容,如果未能解决你的问题,请参考以下文章