最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#入門之類型轉(zhuǎn)換詳解

 更新時間:2014年04月15日 11:04:56   作者:  
這篇文章主要介紹了c#的類型轉(zhuǎn)換詳解,類型轉(zhuǎn)換分兩種形式:隱式轉(zhuǎn)換、顯示轉(zhuǎn)換,下面是詳細(xì)介紹

“無論是什么類型,所有的數(shù)據(jù)都是一系列的位,即一系列0和1。變量的含義是通過解釋這些數(shù)據(jù)的方式來傳達(dá)的?!薄@句原話是書上翻譯的,不過后一句話總感覺理解起來不是很通俗,自己覺得這樣理解可能會合適些:無論什么類型的數(shù)據(jù),在計算機(jī)存儲時都是0和1,而變量的意義,就是以不同的方式來解釋這些數(shù)據(jù),以達(dá)到滿足程序應(yīng)用、節(jié)約內(nèi)存等需求。

換句話說:變量存在的意義,就是建立規(guī)(標(biāo))范(準(zhǔn))的數(shù)據(jù)存儲方式。

隱式轉(zhuǎn)換

類型轉(zhuǎn)換分兩種形式:隱式轉(zhuǎn)換、顯示轉(zhuǎn)換。

隱式轉(zhuǎn)換不需要單獨的表達(dá)式,只需要把滿足隱式轉(zhuǎn)換條件的兩個變量做相應(yīng)的表達(dá)式操作即可,但隱式轉(zhuǎn)換的結(jié)果可能并不是自己意料之中的:

復(fù)制代碼 代碼如下:

ushort destinationVar;
char sourceVar = 'a';
destinationVar = sourceVar;
Console.WriteLine("sourceVar: {0}", sourceVar);
Console.WriteLine("destinationVar: {0}\n",destinationVar);

上面的輸出結(jié)果,sourceVar的是a,而destinationVar雖然=sourceVar,但輸出的結(jié)果是97。可以看出,雖然兩種數(shù)據(jù)類型滿足隱式轉(zhuǎn)換的條件(存儲的值范圍),但不同的表達(dá)類型決定了最終的結(jié)果也不一樣。另外,和大多數(shù)編程一樣,隱式轉(zhuǎn)換時,只要類型A的取值范圍比類型B的范圍小,就可以隱藏轉(zhuǎn)換為B。

顯示轉(zhuǎn)換

在顯示轉(zhuǎn)換中,可以使用強(qiáng)制轉(zhuǎn)換和Convert。

強(qiáng)制轉(zhuǎn)換只在某些情況下可以,可能應(yīng)用的場景不太豐富,當(dāng)然,這個的確要方便一些,在變量前加上類似 (byte) 的代碼就可以了:

復(fù)制代碼 代碼如下:

byte destinationVar;
short sourceVar = 281;
destinationVar = (byte)sourceVar;
Console.WriteLine("sourceVar: {0}", sourceVar);
Console.WriteLine("destinationVar: {0}\n",destinationVar);

這個例子比較有意思,輸出的結(jié)果是:sourceVar: 281, destinationVar: 25; 為什么不是變更為255?這就回到開頭提到的了,其實轉(zhuǎn)換過程中,丟掉的是數(shù)據(jù)存儲的二進(jìn)制位:

在轉(zhuǎn)換的過程中,會把超過取值范圍(255二進(jìn)制位)的那個1丟掉,保留其它的位,所以最終結(jié)果是25,而不是255,也不是281。

Convert轉(zhuǎn)換應(yīng)該是常用的方式,因為它始終會進(jìn)行溢出檢查。

溢出檢查配置

有些東西雖然沒什么用,但是我們應(yīng)該知道,否則出問題的時候就不知道怎么解決了。配置:解決方案資源管理器 - 右鍵 - 屬性 - 生成 - 高級 - 檢查運算上溢/下溢:

當(dāng)然,對于強(qiáng)制轉(zhuǎn)換可能需要這個配置,但使用Convert轉(zhuǎn)換時始終會進(jìn)行溢出檢查的,所以這個配置和checked/unchecked就不起作用了。

結(jié)語

每次一看見那些數(shù)據(jù)類型、表達(dá)式的列表表格就頭疼,因為根本記不住。就像哪些類型可以怎么轉(zhuǎn)換成其它的類型的表格一樣,其實個人感覺大可不必去記住這些,在實際做項目的過程中,只要記得有這方面的功能就行了,具體用哪一個,可以再回過頭來翻書或google。

應(yīng)該掌握的是:記住存在隱式轉(zhuǎn)換,但這種方式應(yīng)該盡量少用吧。而顯示轉(zhuǎn)換,方便的就直接用(),當(dāng)然,最可靠的應(yīng)該是Convert,因為在轉(zhuǎn)換時,Convert始終都會進(jìn)行溢出檢查。

相關(guān)文章

  • C#實現(xiàn)進(jìn)制轉(zhuǎn)換

    C#實現(xiàn)進(jìn)制轉(zhuǎn)換

    這篇文章介紹了C#實現(xiàn)進(jìn)制轉(zhuǎn)換的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • c#實現(xiàn)爬蟲程序

    c#實現(xiàn)爬蟲程序

    這篇文章介紹了c#實現(xiàn)爬蟲程序的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 基于C#實現(xiàn)XML文件讀取工具類

    基于C#實現(xiàn)XML文件讀取工具類

    這篇文章主要介紹了基于C#實現(xiàn)XML文件讀取工具類,涉及C#針對XML文件各節(jié)點獲取的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C#實現(xiàn)貪吃蛇小游戲

    C#實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C#自動給文章關(guān)鍵字加鏈接實現(xiàn)代碼

    C#自動給文章關(guān)鍵字加鏈接實現(xiàn)代碼

    這篇文章主要介紹了C#自動給文章關(guān)鍵字加鏈接實現(xiàn)代碼,有需要的朋友可以參考一下
    2013-12-12
  • 使用C#寫了一個可以推算火車票身份證號碼的小程序

    使用C#寫了一個可以推算火車票身份證號碼的小程序

    這篇文章主要介紹了使用C#寫了一個可以推算火車票身份證號碼的小程序 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • c#簡單工廠、工廠方法與抽象工廠的區(qū)別分析

    c#簡單工廠、工廠方法與抽象工廠的區(qū)別分析

    看了網(wǎng)絡(luò)上很多關(guān)于設(shè)計模式的方法,有的模式看起來相似,但本質(zhì)還是區(qū)別很大的.像簡單工廠,工廠方法和抽象工廠就有很明顯的區(qū)別.
    2013-03-03
  • C#使用CefSharp控件實現(xiàn)爬蟲

    C#使用CefSharp控件實現(xiàn)爬蟲

    這篇文章介紹了C#使用CefSharp控件實現(xiàn)爬蟲的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • C#日歷樣式的下拉式計算器實例講解

    C#日歷樣式的下拉式計算器實例講解

    如果我們正在做一個類似于庫存控制和計費系統(tǒng)的項目,有些部分可能必須手動計算數(shù)值。因此,用戶就不得不使用計算器得到結(jié)果,再填入到輸入字段中,或者在工作窗口上單獨打開一個計算器窗口。總之,各種不便和麻煩。
    2015-09-09
  • 解讀封送類、結(jié)構(gòu)體和聯(lián)合體實例

    解讀封送類、結(jié)構(gòu)體和聯(lián)合體實例

    本文主要介紹了.NETFramework中類、結(jié)構(gòu)體和聯(lián)合體的封送處理,包括類通過COM互操作封送為接口、結(jié)構(gòu)體通過StructLayoutAttribute屬性指定布局和封送方式,以及聯(lián)合體通過StructLayout(LayoutKind.Explicit)和FieldOffset特性精確控制內(nèi)存布局
    2025-01-01

最新評論

乌鲁木齐县| 庆阳市| 大连市| 库车县| 威远县| 吉安市| 盈江县| 德江县| 嫩江县| 澄城县| 柳州市| 仁寿县| 印江| 凉城县| 桐梓县| 砀山县| 铜陵市| 民乐县| 台中市| 威信县| 靖远县| 迭部县| 渭源县| 青田县| 桃江县| 资溪县| 临沧市| 伽师县| 开江县| 仙游县| 卫辉市| 阜平县| 柏乡县| 南充市| 浦县| 通州区| 乐都县| 扶余县| 澳门| 泰安市| 图们市|