【C#】通用辅助方法

2021-06-03 04:04

阅读:899

标签:builder   arp   temp   汉字   trick   lse   转换   inpu   enc   

1、将字符转换为日期格式

public static string GetTime(this string timeStamp)
{
     //处理字符串,截取括号内的数字
     var strStamp = Regex.Matches(timeStamp, @"(?\()|(?\))|[^()]+)*(?(gp)(?!))").Cast().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)
{
    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 GetStrArray(this string str, char speater, bool toLower)
{
    if (string.IsNullOrEmpty(str)) return null;

    List list = new List();
    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 

  

5、获取枚举的description的值

public static string GetEnumDescript(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#】通用辅助方法

标签:builder   arp   temp   汉字   trick   lse   转换   inpu   enc   

原文地址:https://www.cnblogs.com/Seven77yixuan/p/10895711.html

上一篇:【C#】Http帮助类

下一篇:C#入门详解(3)


评论


亲,登录后才可以留言!