国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

.NET 一些常用的類型轉(zhuǎn)換擴展

這篇具有很好參考價值的文章主要介紹了.NET 一些常用的類型轉(zhuǎn)換擴展。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

記錄下在開發(fā)中經(jīng)常用到的類型轉(zhuǎn)換

        #region 轉(zhuǎn)換為string
        /// <summary>
        /// 將object轉(zhuǎn)換為string,若轉(zhuǎn)換失敗,則返回""。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ParseToString(this object obj)
        {
            return Convert.ToString(obj) ?? string.Empty;
        }
        #endregion

        #region 轉(zhuǎn)換為long
        /// <summary>
        /// 將object轉(zhuǎn)換為long,若轉(zhuǎn)換失敗,則返回0。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static long ParseToLong(this object obj)
        {
            if (obj == null)
            {
                return 0;
            }
            else
            {
                bool boolean = long.TryParse(obj.ToString() ?? string.Empty, out long result);
                return result;
            }
        }

        /// <summary>
        /// 將object轉(zhuǎn)換為long,若轉(zhuǎn)換失敗,則返回指定值。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static long ParseToLong(this object obj, long defaultValue)
        {
            if (obj == null)
            {
                return defaultValue;
            }
            else
            {
                bool boolean = long.TryParse(obj.ToString() ?? string.Empty, out long result);
                if (boolean)
                    return result;
                else
                    return defaultValue;
            }
        }

        #endregion

        #region 轉(zhuǎn)換為int
        /// <summary>
        /// 將object轉(zhuǎn)換為int,若轉(zhuǎn)換失敗,則返回0。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static int ParseToInt(this object obj)
        {
            if (obj == null)
            {
                return 0;
            }
            else
            {
                bool boolean = int.TryParse(obj.ToString() ?? string.Empty, out int result);
                return result;
            }
        }

        /// <summary>
        /// 將object轉(zhuǎn)換為int,若轉(zhuǎn)換失敗,則返回指定值。不拋出異常。 
        /// null返回默認值
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static int ParseToInt(this object obj, int defaultValue)
        {
            if (obj == null)
            {
                return defaultValue;
            }
            else
            {
                bool boolean = int.TryParse(obj.ToString() ?? string.Empty, out int result);
                if (boolean)
                    return result;
                else
                    return defaultValue;
            }
        }

        #endregion

        #region 轉(zhuǎn)換為double

        /// <summary>
        /// 將object轉(zhuǎn)換為double,若轉(zhuǎn)換失敗,則返回0。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static double ParseToDouble(this object obj)
        {

            if (obj == null)
            {
                return 0;
            }
            else
            {
                bool boolean = double.TryParse(obj.ToString() ?? string.Empty, out double result);
                return result;
            }
        }

        /// <summary>
        /// 將object轉(zhuǎn)換為double,若轉(zhuǎn)換失敗,則返回指定值。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static double ParseToDouble(this object obj, double defaultValue)
        {
            if (obj == null)
            {
                return defaultValue;
            }
            else
            {
                bool boolean = double.TryParse(obj.ToString() ?? string.Empty, out double result);
                if (boolean)
                    return result;
                else
                    return defaultValue;
            }
        }

        #endregion

        #region 轉(zhuǎn)換為demical
        /// <summary>
        /// 將object轉(zhuǎn)換為demical,若轉(zhuǎn)換失敗,則返回0。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static decimal ParseToDecimal(this object obj)
        {
            if (obj == null)
            {
                return 0;
            }
            else
            {
                bool boolean = decimal.TryParse(obj.ToString() ?? string.Empty, out decimal result);
                return result;
            }
        }

        /// <summary>
        /// 將object轉(zhuǎn)換為demical,若轉(zhuǎn)換失敗,則返回指定值。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static decimal ParseToDecimal(this object obj, decimal defaultValue)
        {
            if (obj == null)
            {
                return defaultValue;
            }
            else
            {
                bool boolean = decimal.TryParse(obj.ToString() ?? string.Empty, out decimal result);
                if (boolean)
                    return result;
                else
                    return defaultValue;
            }
        }
        #endregion

        #region 轉(zhuǎn)化為bool
        /// <summary>
        /// 將object轉(zhuǎn)換為bool,若轉(zhuǎn)換失敗,則返回false。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static bool ParseToBool(this object obj)
        {
            if (obj == null)
            {
                return false;
            }
            else
            {
                bool boolean = bool.TryParse(obj.ToString() ?? string.Empty, out bool result);
                return result;
            }
        }

        /// <summary>
        /// 將object轉(zhuǎn)換為bool,若轉(zhuǎn)換失敗,則返回指定值。不拋出異常。  
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="defaultValue"></param>
        /// <returns></returns>
        public static bool ParseToBool(this object obj, bool defaultValue)
        {
            if (obj == null)
            {
                return defaultValue;
            }
            else
            {
                bool boolean = bool.TryParse(obj.ToString() ?? string.Empty, out bool result);
                if (boolean)
                    return result;
                else
                    return defaultValue;
            }
        }

        #endregion

        #region 時間與時間戳轉(zhuǎn)換
        /// <summary>
        /// 時間轉(zhuǎn)換為毫秒時間戳
        /// </summary>
        /// <param name="nowTime"></param>
        /// <returns>時間戳(毫秒)</returns>
        public static long ParseToUnixTime(this DateTime nowTime)
        {
            var startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return (long)Math.Round((nowTime - startTime).TotalMilliseconds, MidpointRounding.AwayFromZero);
        }

        #endregion

        #region 刪除最后一個字符之后的字符
        /// <summary>
        /// 刪除最后結(jié)尾的一個逗號
        /// </summary>
        public static string DelLastComma(string str)
        {
            return str.Substring(0, str.LastIndexOf(","));
        }
        /// <summary>
        /// 刪除最后結(jié)尾的指定字符后的字符
        /// </summary>
        public static string DelLastChar(string str, string strchar)
        {
            return str.Substring(0, str.LastIndexOf(strchar));
        }
        /// <summary>
        /// 刪除最后結(jié)尾的長度
        /// </summary>
        /// <param name="str"></param>
        /// <param name="Length"></param>
        /// <returns></returns>
        public static string DelLastLength(string str, int Length)
        {
            if (string.IsNullOrEmpty(str))
                return "";
            str = str.Substring(0, str.Length - Length);
            return str;
        }
        #endregion

        #region 強制轉(zhuǎn)換類型
        /// <summary>
        /// 強制轉(zhuǎn)換類型
        /// </summary>
        /// <typeparam name="TResult"></typeparam>
        /// <param name="source"></param>
        /// <returns></returns>
        public static IEnumerable<TResult> CastSuper<TResult>(this IEnumerable source)
        {
            return from object item in source select (TResult)Convert.ChangeType(item, typeof(TResult));
        }

        #endregion

        #region List轉(zhuǎn)DataTable
        /// <summary>
        /// List轉(zhuǎn)DataTable
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <returns></returns>
        public static DataTable ListToDataTable<T>(IEnumerable<T> list)
        {
            //創(chuàng)建屬性的集合 
            List<PropertyInfo> pList = new List<PropertyInfo>();
            //獲得反射的入口 
            Type type = typeof(T);
            DataTable dt = new DataTable();
            //把所有的public屬性加入到集合 并添加DataTable的列 
            Array.ForEach<PropertyInfo>(type.GetProperties(), p =>
            {
                pList.Add(p);
                var theType = p.PropertyType;
                //處理可空類型
                if (theType.IsGenericType && theType.GetGenericTypeDefinition().Equals(typeof(Nullable<>)))
                {
                    dt.Columns.Add(p.Name, Nullable.GetUnderlyingType(theType));
                }
                else
                {
                    dt.Columns.Add(p.Name, theType);
                }
            });
            foreach (var item in list)
            {
                //創(chuàng)建一個DataRow實例 
                DataRow row = dt.NewRow();
                //給row 賦值 
                pList.ForEach(p =>
                {
                    var v = p.GetValue(item, null);
                    row[p.Name] = v == null ? DBNull.Value : v;
                });
                //加入到DataTable 
                dt.Rows.Add(row);
            }
            return dt;
        }


        /// <summary>
        /// List轉(zhuǎn)DataTable
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public static DataTable ListToDataTableNew(List<dynamic> list)
        {
            Dictionary<string, string> dic = new Dictionary<string, string>();
            DataTable dt = new DataTable();
            if (list != null && list.Count > 0)
            {
                foreach (var item in list[0])
                {
                    string text = item.ToString();
                    string key = text.Substring(1, text.IndexOf(',') - 1);
                    string value = text.Substring(text.IndexOf(',') + 1, text.Length - text.IndexOf(',') - 2);
                    dt.Columns.Add(key);
                }
            }
            foreach (var vlist in list)
            {
                DataRow row = dt.NewRow();
                foreach (var item in vlist)
                {
                    string text = item.ToString();
                    string key = text.Substring(1, text.IndexOf(',') - 1);
                    string value = text.Substring(text.IndexOf(',') + 1, text.Length - text.IndexOf(',') - 2);
                    //創(chuàng)建一個DataRow實例 
                    row[key] = value;
                }
                //加入到DataTable 
                dt.Rows.Add(row);
            }
            return dt;
        }
        #endregion

?文章來源地址http://www.zghlxwxcb.cn/news/detail-711559.html

到了這里,關(guān)于.NET 一些常用的類型轉(zhuǎn)換擴展的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 移動端開發(fā)常用的一些UI 組件庫

    1、Vant 是一個 輕量、可靠的移動端組件庫 ,于 2017 年開源。 目前 Vant 官方提供了?Vue 2 版本、Vue 3 版本和微信小程序版本,并由社區(qū)團隊維護?React 版本和支付寶小程序版本。 2、VUX(讀音 [v’ju:z],同 views)是基于WeUI和Vue(2.x)開發(fā)的移動端UI組件庫,主要服務(wù)于微信頁面。缺

    2024年02月13日
    瀏覽(24)
  • 深度學(xué)習(xí)中Numpy的一些注意點(多維數(shù)組;數(shù)據(jù)類型轉(zhuǎn)換、數(shù)組扁平化、np.where()、np.argmax()、圖像拼接、生成同shape的圖片)

    深度學(xué)習(xí)中Numpy的一些注意點(多維數(shù)組;數(shù)據(jù)類型轉(zhuǎn)換、數(shù)組扁平化、np.where()、np.argmax()、圖像拼接、生成同shape的圖片)

    a.shape=(3,2);既數(shù)組h=3,w=2 a.shape=(2,3,2);這里第一個2表示axis=0維度上的,三維數(shù)組中3,2)數(shù)組的個數(shù),這里表示兩個(3,2)數(shù)組。 這里axis=0指代哪里是很重要的知識點。深度學(xué)習(xí)中經(jīng)常壓縮一個維度,axis=0。 numpy.squeeze()函數(shù)。 語法:numpy.squeeze(a,axis = None);作用是將shape維度為

    2024年01月18日
    瀏覽(43)
  • iOS開發(fā)Swift-類型轉(zhuǎn)換

    1.Int或Double轉(zhuǎn)字符串 2.Double轉(zhuǎn)Int(去掉小數(shù)點后面的) 3.Int轉(zhuǎn)Double 4.向上轉(zhuǎn)型 5.向下轉(zhuǎn)型

    2024年02月09日
    瀏覽(21)
  • chrom擴展開發(fā)配合百度圖像文字識別實現(xiàn)自動登錄(后端.net core web api)

    好久沒做瀏覽器插件開發(fā)了,因為公司堡壘機,每次登錄都要輸入賬號密碼和驗證碼。太浪費時間了,就想著做一個右鍵菜單形式的擴展。 實現(xiàn)思路也很簡單,在這里做下記錄,方便下次開發(fā)參考。 manifest.json 也叫清單文件。 先簡單看下配置: 上述配置基本包含了插件開發(fā)

    2024年02月11日
    瀏覽(25)
  • 測試人員必用的10個Chrome擴展插件

    測試人員必用的10個Chrome擴展插件

    背景 :谷歌Chrome瀏覽器是全球所有測試人員最受歡迎和必備的瀏覽器之一,Chrome瀏覽器為我們提供了許多擴展的選擇,可以讓我們高效和省時地完成工作。以下為作者觀點: 1. Testsigma Recorder Testsigma Recorder用于記錄與網(wǎng)絡(luò)應(yīng)用程序的端到端交互,并將動作存儲為純英文句子,

    2024年02月11日
    瀏覽(44)
  • python實現(xiàn)的一些方法,可以直接拿來用的那種

    很多時候我們需要批量生成日期,方法有很多,這里分享兩段代碼 獲取過去 N 天的日期: 輸出: 生成一段時間區(qū)間內(nèi)的日期: 輸出: 保存數(shù)據(jù)到 CSV 是太常見的操作了 Pyecharts 作為 Echarts 的優(yōu)秀 Python 實現(xiàn),受到眾多開發(fā)者的青睞,用 Pyecharts 作圖時,使用一個舒服的背景也

    2024年02月10日
    瀏覽(22)
  • (十九)devops持續(xù)集成開發(fā)——jenkins的一些常用插件和工具的安裝

    (十九)devops持續(xù)集成開發(fā)——jenkins的一些常用插件和工具的安裝

    本節(jié)內(nèi)容會著重介紹jenkins持續(xù)集成開發(fā)工具的一些常用插件安裝以及全局工具的配置安裝,并說明其主要作用。在開始插件和工具安裝之前,我們要保證可以正常訪問網(wǎng)絡(luò),并且使用國內(nèi)的插件更新地址,便于插件的正常安裝。官方的地址可能會導(dǎo)致安裝失敗。以下是一些可

    2024年04月27日
    瀏覽(48)
  • 關(guān)于C或C++,數(shù)組的強制類型轉(zhuǎn)換,uint8_t與char的區(qū)別,uint8_t*與char*的兼容性問題以及一些指針的常見問題

    關(guān)于C或C++,數(shù)組的強制類型轉(zhuǎn)換,uint8_t與char的區(qū)別,uint8_t*與char*的兼容性問題以及一些指針的常見問題

    1.類型定義: uint8_t:這是一個無符號 8 位整數(shù)類型,定義在 stdint.h 或 inttypes.h 頭文件中。它是標準的固定寬度整數(shù)類型之一,確保在所有平臺上占用 8 位(1 字節(jié))。 char:這是 C 語言的基本字符存儲類型,用于存儲單個字符。在不同的系統(tǒng)和編譯器中,char 可以是有符號的

    2024年01月24日
    瀏覽(27)
  • 本倉庫主要用來收集一些 Android 開發(fā)中常用的第三方 UI 庫及其簡單 Demo

    本倉庫主要用來收集一些 Android 開發(fā)中常用的第三方 UI 庫及其簡單 Demo

    | 第三方庫 | 介紹 | Demo | 使用說明 | | — | — | — | — | | CircleImageView | 顯示圓形圖片 | CircleImageViewDemo | Android UI Libs 之 CircleImageView.md | | android-gif-drawable | 顯示 gif 圖片 | android-gif-drawabledemo | Android UI Libs 之 android-gif-drawable.md | | AndroidSwipeLayout | 滑動布局,可以實現(xiàn)側(cè)滑菜單與側(cè)

    2024年04月15日
    瀏覽(25)
  • 微軟發(fā)布ChatGPT 版必應(yīng) 用的是 .NET 技術(shù)

    微軟發(fā)布ChatGPT 版必應(yīng) 用的是 .NET 技術(shù)

    微軟在今天在Redmond 線下舉辦媒體一場活動,發(fā)布了新版的微軟必應(yīng), 在桌面上推出了測試版,移動版也即將推出。微軟首席執(zhí)行官納德拉稱Al-powered搜索為公司自云15年以來最大的事情。 2023年1月初,微軟已經(jīng)在討論將OpenAI的技術(shù)納入Word、PowerPoint、Outlook和其他應(yīng)用程序,這

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包