亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#編程自學之數據類型和變量三

2020-01-24 01:25:55
字體:
來源:轉載
供稿:網友

了解了數據類型與變量的基本概念之后,我們來討論數據類型的轉換與裝箱與拆箱!裝箱和取消裝箱使我們能夠統一地來考察類型系統,其中任何類型的值最終都可以按對象處理。
一、數據類型轉換
在編程時 我們有時候會遇到將一個類型的變量轉換成另一種數據類型,我們稱它為數據類型的轉換,C#數據類型的轉換有兩種方式如下:
1.默認安全的數據類型轉換
默認安全的數據類型轉換:我們稱之為 隱式的數據類型轉換,什么是隱式的數據類型轉換?隱式的數據類型轉換就是數據類型的低范圍(參考C#數據類型與變量一中的數據類型的范圍)向高范圍的數據類型的轉換。例如:

int a = 200; //int 范圍是 -2147483648~2147483647 long b = a; //long 范圍是 -9223372036854775808~9223372036854775807 表示的整數范圍更大 并且這個范圍包含200//所以我們認為這兩個數據類型轉換是默認合法的也稱隱式數據類型轉換Console.WriteLine("b = "+b.ToString());

運行結果當時會輸出:“b = 200”這段話啦!

2.強制的數據類型轉換
了解隱式數據類型的轉換后,我們在來了解下強制的類型轉換,強制類型轉換就是,當不滿足隱式數據類型轉換的規則時,的一種數據類型轉換的方法,強制數據類型轉換必然會引發一些錯誤,例如:
將高范圍數據類型(簡稱高)轉換低范圍數據類型(簡稱低)時,那么當“高”變量的值,超出了“低”數據類型的范圍時,我們簡稱數據類型溢出。代碼如下:

long a = 3333333333; //long 范圍是 -9223372036854775808~9223372036854775807 ->3333333333在這個范圍中合法int b = (int)a; //int 范圍是 -2147483648~2147483647 -> 3333333333 超出了這個范圍 所以導致數據類型溢出Console.WriteLine("a =" + a.ToString());Console.WriteLine("b ="+b.ToString());//類型溢出這里會輸出一個非常大的負數

輸出結果如下:

二、裝箱與拆箱
理解完基本數據類型的轉換后我們來看一下值類型與引用類型之間的轉換,我們稱為裝箱與拆箱。
1.裝箱
裝箱就將值類型轉換成引用類型:

int a = 10;object obj = a; //將值類型轉換引用類型,裝箱操作

在裝箱操作時,運行時會在托管堆上分配一個空間,存放a 中的10,并標志這塊空間的裝箱類型是int。
如圖:

2.拆箱
那拆箱就跟裝箱相反,就是將引用類型還原會值類型。

int a = 10;object obj = a; //將值類型轉換引用類型 裝箱int b = (int)obj; //將引用類型轉換為值類型 拆箱

當拆箱時我們會將推中的10強制類型轉換放到??臻g中(圖中代表int b)。
如圖

3.裝箱與拆箱的作用
當我需要顯示的方法,分別來顯示 int float double類型的值到控制臺。一般我們的設計方法如下:

class MyProgram{  //用來打印int類型的值  public static void ShowInt(int a)  {    Console.WriteLine(" a ="+a.ToString());  }    //用來打印float類型的值  public static void ShowFloat(float a)  {    Console.WriteLine(" a ="+a.ToString());  }    //用來打印double類型的值  public static void ShowDouble(double a)  {    Console.WriteLine(" a ="+a.ToString());  }    static void Main(string[] args)  {    int a = 10;    ShowInt(a);      float b = 2.2;    ShowFloat(b);      double c = 2.22;    ShowDouble(c);  }}

那么我們思考一下,這個時候我需要在支持 string , short,char等等的類型顯示的時候,我們是不是需要對每一個類型都定義一個顯示的方法? 此時我們在看看引入了裝箱與拆箱概念的方法設計:

class MyProgram{  //將參數類型改為object  public static void ShowObject(object obj)  {    Console.WriteLine("obj ="+obj.ToString());  }      static void Main(string[] args)  {    int a = 10;    ShowObject(a); //int a 被裝箱      float b = 2.2;//float b 被裝箱    ShowObject(b);      double c = 2.22;//double c 被裝箱    ShowObject(c);  }}

這樣我們將來不管需要擴展多少數據類型我們這個方法都可以滿足。
裝箱用于在垃圾回收堆中存儲值類型。裝箱是值類型到 object 類型或到此值類型所實現的任何接口類型的隱式轉換。對值類型裝箱會在堆中分配一個對象實例,并將該值復制到新的對象中。
關于C#數據類型與變量就介紹到這,希望上面三篇文章對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
自拍偷拍免费精品| 国产日韩一区在线| 国产在线播放不卡| 2019国产精品自在线拍国产不卡| 国产精品日韩久久久久| 92看片淫黄大片看国产片| 亚洲乱亚洲乱妇无码| 欧美日韩亚洲天堂| 精品久久久久国产| 亚洲美女在线观看| 久久久99免费视频| 在线一区二区日韩| 欧美一级电影在线| 国产精品免费久久久| 中文字幕日韩高清| 人人爽久久涩噜噜噜网站| 欧美日韩中文字幕在线| 欧美巨乳在线观看| 欧美激情在线播放| 国产精品视频专区| 91美女高潮出水| 国产精品com| 尤物九九久久国产精品的分类| 亚洲精品自产拍| 欧美亚洲激情在线| 欧美成人高清视频| 黄色成人av网| 成人春色激情网| 国产精品久久婷婷六月丁香| 欧美成人免费网| 亚洲精品一区在线观看香蕉| 欧美福利视频网站| 91精品国产91久久| 1769国产精品| 国产激情久久久久| 国产99久久精品一区二区| 少妇久久久久久| 亚洲国产欧美一区二区三区同亚洲| 欧美性猛交xxxxx水多| 国产精品永久免费在线| 国产不卡视频在线| 亚洲一区二区久久久久久| 91精品国产91久久久久久久久| 欧美黑人国产人伦爽爽爽| 国产精品96久久久久久| 日韩欧美在线网址| 久久久精品久久久久| 国产精品欧美激情| 亚洲社区在线观看| 国产亚洲精品美女久久久久| 国产精品激情av电影在线观看| 欧美色图在线视频| 国产亚洲一区二区精品| 成人欧美在线观看| 欧美激情啊啊啊| 国产成人精品久久亚洲高清不卡| 日韩精品视频在线观看免费| 亚洲天堂网在线观看| 久久久久久久影院| 亚洲成年网站在线观看| 欧美理论电影在线播放| 亚洲欧美制服第一页| 亚洲free性xxxx护士白浆| 国产激情久久久| 亚洲香蕉在线观看| 国产精品第一第二| 精品久久久久久久久久ntr影视| 亚洲国产另类 国产精品国产免费| 久久色免费在线视频| 中文字幕久久精品| 91久久在线观看| 欧美日韩国产综合新一区| 成人444kkkk在线观看| 亚洲精品一区二区三区婷婷月| 日本一区二三区好的精华液| 国产欧美精品一区二区三区-老狼| www国产亚洲精品久久网站| 91av福利视频| 国产日韩中文在线| 成人免费福利视频| 亚洲国产天堂久久国产91| 欧美性猛交xxxx免费看久久久| 国产精品久久久久av免费| 亚洲精品aⅴ中文字幕乱码| 色噜噜狠狠狠综合曰曰曰| 日韩精品中文在线观看| 色偷偷av亚洲男人的天堂| 国产自产女人91一区在线观看| www.亚洲一区| 欧美另类极品videosbestfree| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩精品视频免费专区在线播放| 全球成人中文在线| 青草成人免费视频| 在线观看日韩欧美| 久久亚洲欧美日韩精品专区| 日韩在线中文字幕| 成人久久18免费网站图片| 91精品综合久久久久久五月天| 红桃av永久久久| 欧美激情在线观看| 午夜精品福利在线观看| 色综合久久天天综线观看| 国产一区二区三区欧美| 国产精品三级在线| 亚洲视频一区二区三区| 亚洲最大成人在线| 亚洲欧美日韩国产中文专区| 日韩免费黄色av| 欧美国产欧美亚洲国产日韩mv天天看完整| 91精品国产91久久久久久| 国产精品私拍pans大尺度在线| 久久久久久久久爱| 俺去了亚洲欧美日韩| 日韩av免费在线播放| 国产精品久久77777| 国产精品亚洲视频在线观看| 国产日韩精品视频| 一区二区在线视频| 精品香蕉在线观看视频一| 久久久精品久久久| 午夜精品视频网站| 精品偷拍各种wc美女嘘嘘| 欧美日本高清视频| 亚洲va电影大全| 欧美日韩激情美女| 亚洲色图18p| 全色精品综合影院| 国产精品狼人色视频一区| 91超碰caoporn97人人| 51视频国产精品一区二区| 久久久久久尹人网香蕉| 尤物yw午夜国产精品视频明星| 亚洲精品视频播放| 日韩av观看网址| 成人欧美一区二区三区黑人| 琪琪第一精品导航| 成人黄色网免费| 亚洲高清久久网| 日本国产一区二区三区| 日韩精品高清视频| 成人在线免费观看视视频| 欧美另类极品videosbestfree| 亚洲欧美一区二区精品久久久| 久久香蕉频线观| 亚洲第一av网| 91精品一区二区| 久久青草福利网站| 国产成人精品av| 亚洲第一区第一页| 亚洲美女福利视频网站| 国产一区二区三区三区在线观看| 97香蕉久久超级碰碰高清版| 亚洲国产精品va在线观看黑人| 国产精品入口尤物| 国产精品久久久久久久久久三级| 亚洲一区av在线播放| 91免费看视频.| 国产亚洲aⅴaaaaaa毛片| 久久成人综合视频| 在线精品视频视频中文字幕| 欧美天堂在线观看| 国产一区二区三区在线看| 日产精品99久久久久久|