前面已經(jīng)認(rèn)識了不同的數(shù)據(jù)類型,你們有沒有嘗試過讓不同的數(shù)據(jù)類型進(jìn)行運算呢?
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),云和企業(yè)網(wǎng)站建設(shè),云和品牌網(wǎng)站建設(shè),網(wǎng)站定制,云和網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,云和網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
int a = 1; double b = a; Console.WriteLine(b);
運行結(jié)果是:1
我們把一個整型的變量賦值給了一個浮點型的變量,可以正常的輸出,如果我們把一個浮點型的變量賦值給一個整型的變量呢?
double a = 1; int b = a; Console.WriteLine(b);
這樣就會報錯。
為什么呢?因為我們之前說過,變量就像一個容器,里面存放著變量的值。而數(shù)據(jù)類型就相當(dāng)于容器的類型,決定了容器能夠存放什么樣的值。
試想,生活中我們把小盒子里的東西放進(jìn)大盒子里,是沒有問題的。數(shù)據(jù)類型也是這樣。我們把整型的數(shù)據(jù)賦值給浮點型是可以放進(jìn)去的,放進(jìn)去之后里面的值1其實也就變成了浮點型,即1.0,不過c#輸出的時候,很聰明的把后面的.0去掉了。
結(jié)論:占字節(jié)小的可以向占字節(jié)大的自動轉(zhuǎn)換,但占字節(jié)大的不能向占字節(jié)小的自動轉(zhuǎn)換。
這種數(shù)據(jù)類型的轉(zhuǎn)換是自動完成的,所以叫做自動類型轉(zhuǎn)換。
如果我偏要把字節(jié)大的賦值給字節(jié)小的怎么辦呢?試想,生活中我們把大盒子中的東西裝進(jìn)小盒子,東西少還好,東西多了就只能裝進(jìn)去一部分了?,F(xiàn)在我說,我不聽我不聽,我就是要把大盒子的東西裝進(jìn)小盒子??捱筮蟆?/p>
沒辦法,我們只能使用強制類型轉(zhuǎn)換,即把占字節(jié)大的數(shù)據(jù)類型強制轉(zhuǎn)換為占字節(jié)小的數(shù)據(jù)類型。
double a = 1.2; int b = (int)a; Console.WriteLine(b);
我們在引用變量a給b賦值時,在a前面加了個括號,就是把數(shù)據(jù)類型強制轉(zhuǎn)換為括號里的數(shù)據(jù)類型。我們運行一下,結(jié)果是:1
a的值是1.2,強制類型轉(zhuǎn)換賦值給了b之后就只剩1了,因為整型的沒有小數(shù)部分,所以裝不下了啊。
總結(jié)
以上所述是小編給大家介紹的C#中的自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝