日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

(原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换

發布時間:2024/4/15 C# 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第五章 變量的更多內容

  本章內容:

  ●? 如何在類型之間進行隱式和顯式轉換
  ●? 如何創建和使用枚舉類型
  ●? 如何創建和使用結構類型
  ●? 如何創建和使用數組
  ●? 如何處理字符串值

  首先要討論的主題是類型轉換,即把值從一種類型轉換為另一種類型。

  接著闡述另外一些類型的變量:

    枚舉——變量類型,用戶定義了一組可能的離散值,這些值可以用人們能理解的方式使用。

    結構——合成的變量類型,由用戶定義的一組其他變量類型組成。

    數組——包含一種類型的多個變量,可以以索引方式訪問各個數值。

  這些類型比前面使用的簡單類型復雜一些,但可以使工作更容易完成。最后,學習另一個與字符串相關的主題——基本字符串處理。

5.1? 類型轉換

  類型轉換采用以下兩種形式:

    隱式轉換:從類型A到類型B的轉換可以在所有情況下進行,執行轉換的規則非常簡單,可以讓編譯器執行轉換。

    顯式轉換:從類型A到類型B的轉換只能在某些情況下進行,轉換的規則比較復雜,應進行某種類型的處理。

5.1.1? 隱式轉換

  隱式轉換不需要做任何工作,也不需要另外編寫代碼。考慮下面的代碼:

var1 = var2;

  如果var2的類型可以隱式地轉換為var1類型,這個賦值語句就涉及到一個隱式轉換。它也可能只處理相同類型的兩個變量,不需要隱式轉換。例如,ushort和char的值是可以互換的,因為它們都可以存儲0~65535之間的數字,在這兩個類型之間可以進行隱式轉換,如下面的代碼所示:

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

  這里存儲在sourceVar中的值放在destinationVar中。在用兩個Console.WriteLine()命令輸出變量時,得到如下結果:

sourceVar val: a destinationVar val: 97

  即使兩個變量存儲的是相同的信息,使用不同的類型解釋它們時,方式也是不同的。

  簡單類型有許多隱式轉換;bool和string沒有隱式轉換,但數值類型有一些隱式轉換。表5-1列出了編譯器可以隱式執行的數值轉換(記住,char存儲的是數值,所以char被當作一個數值類型)。

?

  這些類型的隱式轉換規則是:任何類型A,只要其取值范圍完全包含在類型B的取值范圍內,就可以隱式轉換為類型B。

  其原因是很簡單的。如果要把一個值放在變量中,而該值超出了變量的取值范圍,就會出問題。例如,short類型的變量可以存儲0~32767的數字,而byte可以存儲的最大值是255,所以如果要把一個short值轉換為byte值,就會出問題。如果short包含的值在256~32767之間,相應數值就不能放在byte中。

  但是,如果short類型變量中的值小于255,就應能轉換這個值,對嗎?答案是可以。具體地說是可以,但必須使用顯式轉換。執行顯式轉換有點類似于“我已經知道你對在這么做提出了警告,但我將對其后果負責”。

轉載于:https://www.cnblogs.com/wodehao0808/p/4908553.html

總結

以上是生活随笔為你收集整理的(原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。