程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> [1]我的類庫:JCLib.Data類:提供數據類型轉換相關的服務

[1]我的類庫:JCLib.Data類:提供數據類型轉換相關的服務

編輯:.NET實例教程

數據類型轉換是最常用的功能之一,在這裡公布幾個核心且非常實用的方法 .
一: public static T To<T>(object value);
看到這個方法的原型,我想就不用多說了,就是把傳入的值轉換成T指定的類型並輸出。


        public static T To<T>(object value)
        ...{
            try
            ...{
                //對於不能順利轉換的,采用Parse方法進行構造
                switch (typeof(T).Name.ToLower())
                ...{
                    case "timespan": return (T)(object)TimeSpan.Parse(value.ToString());
                }
                switch (typeof(T).BaseType.Name.ToLower())
                ...{
                    case "enum": return (T)Enum.Parse(typeof(T), value.ToString());
                }
      &nb;         return (T)System.Convert.ChangeType(value, typeof(T));
            }
            catch ...{ return default(T); }
        }

要說明的是對於一些類型,如枚舉、TimeSpan類型的數據需要用Parse方法來轉換。這個方法的優點:可以對有繼承關系的類也可以轉換。
另外封裝一個不重要的東西以求類型轉換相關方法的完整:


        /**//// <summary>
        /// 將指定值轉換為指定類型
        /// </summary>
        /// <param name="value">要轉換的值</param>
        /// <param name="type">目標類型</param>
        /// <returns></returns>
        public static object To(object value, Type type)
        ...{
            return Convert.ChangeType(value, type);
        }

二:字符串拆分與合並
看幾個方法原形即可,一看就知道該作什麼用。


public static string Join(object[] values, string separator);
public static T[] Split<T>(string input, string separator, StringSplitOptions option);
public static void Connect(ref string original, string addition, string connectWith);
第一個方法將傳入的數組用指定的分隔符連接起來。它內部調用object.ToString()方法。這個方法也很常用,如int[]等類型的數據合並為用逗號隔開的字符串。
第二個方法是第一個方法的逆操作。使用了To<T>(...)方法。
第三個需要詳細說明一下:


        public static void Connect(ref string original, string addition, string connectWith)
        {
            if (string.IsNullOrEmpty(original))
            ...{
                original = addition;
                return;
            }
            original += connectWith + addition;
        }
...
有多個項要添加到串中的時候,這個方法是一個選擇,比如:多個查詢條件要通過 AND 操作合並起來,特別是用戶自定義查詢的時候,又如自定義多個排序列等。說明:對於查詢條件的構造,這個不嚴謹,在我的DBHelper類中會有專門的構造方式。

其它:主要是編碼轉換的方法。如進行BASE64編碼等。不再贅述。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved