c#類型轉換

一:string轉int

//兩種轉換方式
//如果字符串不是有效數(shù)值,則會拋出異常
int.Parse("Hello"); // 拋出異常
var i = int.Parse("1"); // 正常

var i = Convert.ToInt32((string) null); //無異常,返回: 0
Convert.ToInt32("hello"); //拋出異常
Convert.ToInt32("1"); //正常 

解決辦法:封裝一個工具類ParseInteger,讓異常數(shù)據(jù)返回0

public static class ParseInteger
{
    /// <summary>
    /// 字符串轉int
    /// </summary>
    /// <param name="intStr">要進行轉換的字符串</param>
    /// <param name="defaultValue">默認值,默認:0</param>
    /// <returns></returns>
    public static int ParseInt(string intStr, int defaultValue = 0)
    {
        int parseInt;
        if (int.TryParse(intStr, out parseInt))
            return parseInt;
        return defaultValue;
    }
}

轉自:https://www.cnblogs.com/geekworld/p/9430133.html

二:Hex16Byte 轉 Hex16String

        /// <summary>
        /// 此方法用于將16進制的字節(jié)數(shù)組轉換成16進制的字符串。
        /// </summary>
        /// <param name="_hex16Byte">要轉換的16進制的字節(jié)數(shù)組。</param>
        /// <returns></returns>
        public static string Hex16ByteToHex16String(byte[] _hex16Byte)
        {
            string result = string.Empty;
            //如果字節(jié)數(shù)組不為空。
            if (_hex16Byte != null)
            {
                for (int i = 0; i < _hex16Byte.Length; i++)
                {
                    //將每一個字節(jié)數(shù)組轉換成16進制string類型的字符串,用空格分隔開。
                    result += _hex16Byte[i].ToString("X2") + " ";
                }
            }
            return result;
        }

三:Hex16String 轉 String

        /// <summary>
        /// 此方法用于將16進制的字符串轉換成普通字符串。
        /// </summary>
        /// <param name="_hex16String">要轉換的16進制的字符串。</param>
        /// <returns></returns>
        private static string Hex16StringToString(string _hex16String)
        {
            string result = string.Empty;
            //以空格分割字符串。
            string[] chars = _hex16String.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            //聲明一個字節(jié)數(shù)組,其長度等于分割的字符串的長度。
            byte[] buffer = new byte[chars.Length];
            for (int i = 0; i < buffer.Length; i++)
            {
                //將chars數(shù)組中的元素轉換成字節(jié)數(shù)組。
                buffer[i] = Convert.ToByte(chars[i], 16);
            }
            //將字節(jié)數(shù)組轉換成字符串。
            result = System.Text.Encoding.UTF8.GetString(buffer);
            //返回。
            return result;
        }
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.實現(xiàn)隱式類類型轉換 short a=2000; int b; b=a; short是兩字節(jié),int是四字節(jié),由...
    程序愛好者閱讀 995評論 0 1
  • 在編程的過程中,要用到各種類型,那么難免就會存在類型轉換的問題,有時候不記得類型轉換怎么用真的很急人(我是菜雞)。...
    Jack_Cui閱讀 464評論 0 1
  • C++類型轉換總結 本章內(nèi)容:1 前言2 static_cast3 dynamic_cast4 const_cas...
    Haley_2013閱讀 1,012評論 0 50
  • Math.Round這個函數(shù)的解釋是將值按指定的小數(shù)位數(shù)舍入,并不就是四舍五入。這種舍入有時稱為就近舍入或四舍六入...
    ichengzi閱讀 336評論 0 1
  • 隔天外甥女發(fā)短信來要我?guī)コ源艺f婆婆年前就說想吃火鍋,把家里人都帶上去吃火鍋吧。 大年初四全家總動...
    87ad4e183399閱讀 330評論 0 0

友情鏈接更多精彩內(nèi)容