欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中數(shù)據類型的轉換介紹

 更新時間:2022年01月04日 09:56:47   作者:摸魚小能手丫  
大家好,本篇文章主要講的是C#中數(shù)據類型的轉換介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

今天學習了一下數(shù)據類型的轉換,我整理出了一下筆記;

1、parse轉換:將string類型轉化為其他類型

 //數(shù)據類型的轉換
                //即string"18"==> int 18,
                //1、parse轉換:將string類型轉化為其他類型
                //待轉數(shù)據必須要像該數(shù)據類型
                string strNumber = "18";
                int num01 = int.Parse(strNumber);
                float num02 = float.Parse(strNumber);

2、任意類型轉化為string類型

//2、任意類型轉化為string類型
                int number = 18;
                string str = number.ToString();

昨天在做老師的練習的時候,就用到了這兩種類型的轉換,比如想把char類型轉換成為int類型,可以先把它轉化為string類型,再把string類型轉化為int類型從而實現(xiàn)數(shù)據的轉換,最穩(wěn)健的做法,string類是充當了一個類似與“容器”的作用。

3、隱式轉換:自動轉換-->小范圍到大范圍自動轉換

//3、隱式轉換:自動轉換-->小范圍到大范圍自動轉換
 
            byte b3 = 100;
            int i3 = b3;

這個沒什么可說,很好理解,可以把b3變量看成一塊“地”,存了100,byte是占一個字節(jié),而int占4個字節(jié),如果一個數(shù)據放在一個內存小的地方都放得下,那內存大的地方也能放下。

4、顯示轉換:強制轉換-->由大范圍到小范圍的強制轉換,不過可能會發(fā)生精度丟失

 //4、顯示轉換:強制轉換-->由大范圍到小范圍的強制轉換,可能會發(fā)生精度丟失
            int i4 = 100;
            byte b4 = (byte)i4;

這個強制轉換就厲害了,不過語法也很簡單,給大家看我輸入的幾個例子就明白為什么簡單了

            byte numbe1 = 1;
            short numbe2 = 2;
            short resu =numbe1 + numbe2;

這里的第三行報錯,

 這里我們要仔細閱讀錯誤,無法將int類型隱式轉換成short,就說明我們這個resu變量應該為int類型,或者用強制轉換。(如果把第三行的short換成byte,一樣的解決方式)

            byte numbe1 = 1;
            short numbe2 = 2;
            short resu = (short)(numbe1 + numbe2);
            //或int resu =numbe1 + numbe2;
            byte numbe1 = 1;
            byte numbe2 = 2;
            byte resu = (byte)(numbe1 + numbe2);
            //或int resu =numbe1 + numbe2;

在強制轉換中出現(xiàn)這種無法隱式轉換類型的錯誤時,看錯誤提示就行,很簡單。

不過我在嘗試其他類型的時候,卻發(fā)現(xiàn)了一個不一樣的錯誤。

 float類型和decimal類型竟然不能相加?

查閱資料后發(fā)現(xiàn)原來它們兩在內存里面存儲的結構就不一樣,float浮點型是近似存儲(包括double),而decimal是精確存儲,所以無法相加。(祖師爺告訴我的....)。

不過float與double類型可以相加

            float numbe1 = 1;
            double numbe2 = 2;
            byte resu = (byte)(numbe1 + numbe2);
            //或double resu = numbe1 + numbe2;

可以理解為由多種變量參與運算,結果自動向較大的類型提升。

5、最后再給一個簡單的題目考考大家:

代碼中的b+=3和b=b+3,這兩種寫法完全一樣的嗎?

           int a = 1;
            a = a + 3;
            a += 3;
 
 
            byte b = 1;
            b += 3;
            b = b + 3;
答案是不一樣的,會報錯,因為類型提升為int了。

 加一個強制轉換,就解決了。

 為什么b+=3不報錯呢?

+=屬于快捷運算符,不做自動類型提升。不過如果初始b值過大,超出范圍255,會從頭開始,即從0開始,

 

 到此這篇關于C#中數(shù)據類型的轉換介紹的文章就介紹到這了,更多相關C#數(shù)據類型轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C#讀寫指定編碼格式的文本文件

    C#讀寫指定編碼格式的文本文件

    這篇文章主要為大家詳細介紹了C#讀寫指定編碼格式文本文件的方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • winform簡單緩存類實例

    winform簡單緩存類實例

    這篇文章主要介紹了winform簡單緩存類,涉及C#緩存使用技巧,非常簡單實用,需要的朋友可以參考下
    2015-09-09
  • C# Word 類庫的深入理解

    C# Word 類庫的深入理解

    本篇文章是對C#中的Word類庫進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C# Web應用調試開啟外部訪問步驟解析

    C# Web應用調試開啟外部訪問步驟解析

    本文主要介紹了C# Web應用調試開啟外部訪問的實現(xiàn)過程與方法。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • C#特性 迭代器(下) yield以及流的延遲計算

    C#特性 迭代器(下) yield以及流的延遲計算

    這篇文章主要介紹了C#特性 迭代器(下) yield以及流的延遲計算,需要的朋友可以參考下
    2014-12-12
  • 淺析WPF中Binding的數(shù)據校驗和類型轉換

    淺析WPF中Binding的數(shù)據校驗和類型轉換

    在WPF開發(fā)中,Binding實現(xiàn)了數(shù)據在Source和Target之間的傳遞和流通,那在WPF開發(fā)中,如何實現(xiàn)數(shù)據的校驗和類型轉換呢,下面就跟隨小編一起學習一下吧
    2024-03-03
  • WPF仿微信實現(xiàn)截圖功能的方法詳解

    WPF仿微信實現(xiàn)截圖功能的方法詳解

    這篇文章主要介紹了如何利用WPF實現(xiàn)截圖功能(仿微信),文中的示例代碼講解詳細,對我們學習或工作有一定幫助,需要的可以參考一下
    2022-07-07
  • C#重載運算符詳解

    C#重載運算符詳解

    這篇文章主要介紹了C#重載運算符,是進行C#程序設計中非常重要的一個技巧,需要的朋友可以參考下
    2014-08-08
  • C#關鍵字Check簡單介紹

    C#關鍵字Check簡單介紹

    這篇文章主要介紹了C#關鍵字Check功能描述及注意事項,checke關鍵字主要用于對整型類型算術運算和轉換顯式啟用溢出檢查,本文通過程序演示給大家詳細介紹,需要的朋友一起看看吧
    2022-04-04
  • C#調用C++ DLL bool返回值始終為true的問題

    C#調用C++ DLL bool返回值始終為true的問題

    這篇文章主要介紹了C#調用C++ DLL bool返回值始終為true的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論