您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關.NET中怎么實現類型轉換功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
.NET類型轉型的四種做法:
◆ 強制轉型:(int)變量名稱
◆ int.Parse(字符串變量名稱)
◆ Convert.To類型(變量名稱)
◆ TryParse
強制轉型 (casting)
◆ 浮點數會做無條件舍去,失去精確度
◆ 可處理 object 轉 int,但遇到 object 為 null 時會產生 error
◆ 某些情況下,如 object 轉型成 int,有時正常,但有時會無故發生 error,原因不明
◆ 無法處理 string 轉 int (程序中常會用到的功能)
◆ 千萬不可用來處理 char 類型,否則傳回的是 ASCII 碼,而不是字面上的數字
int.Parse(字符串變量名稱)
◆ 只能處理 string 轉 int 或其它類型,無法處理 string 以外的類型,功能有限
◆ 遇到 string 為 null 或 string.Empty 時,仍會造成程序 error
◆ 亦可變化使用:「類型.Parse(string)」,但參數只能丟 string
Convert.To類型(變量名稱)
◆ 可處理所有 .NET 的類型、功能完整
◆ 可處理 null,幾乎不會因轉型造成程序 error
◆ 透過「Convert.ToInt32(變量)」轉型成 int 時,變數若為 object 或 string 類型,當其值為 null 時,會傳回 0,不會造成程序 error
◆ 續前一點,若此 string 類型的變量,其原始值為 string.Empty,在轉型成 int 時,仍會造成程序 error
◆ 浮點數會做四舍五入
◆ 千萬不可用來處理 char 類型,否則傳回的是 ASCII 碼,而不是字面上的數字
測試范例:
protected void Page_Load(object sender, EventArgs e) { char i1 = '0'; char i2 = '9'; string i1 = null; string i2 = "9"; string i3 = string.Empty; int i1 = 0; int i2 = 9; double i1 = 1.2345; double i2 = 1.5678; object i1 = null; object i2 = 9; // 浮點數會做無條件舍去,某些情況會無故產生 error Response.Write((int)i1 + ", " + (int)i2 + "<br>"); // 只能處理「字符串」轉型成其它類型,功能有限 Response.Write(int.Parse(i1) + ", " + int.Parse(i2) + "<br>"); // 可處理所有類型及 Null,但浮點數會做四舍五入。推薦使用,但不可處理 char 類型 Response.Write(Convert.ToInt32(i1) + ", " + Convert.ToInt32(i2) + "<br>"); } |
關于.NET中怎么實現類型轉換功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。