程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#(int)中Convert、Parse、TryParse的區別

C#(int)中Convert、Parse、TryParse的區別

編輯:C#基礎知識

Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解釋為將類型轉換為 int,那它們的區別是什麼呢?
Convert.ToInt32 與 int.Parse 較為類似,實際上 Convert.ToInt32 內部調用了 int.Parse:
Convert.ToInt32 參數為 null 時,返回 0;
int.Parse 參數為 null 時,拋出異常。
Convert.ToInt32 參數為 "" 時,拋出異常;
int.Parse 參數為 "" 時,拋出異常。
Convert.ToInt32 可以轉換的類型較多;
int.Parse 只能轉換數字類型的字符串。
int.TryParse 與 int.Parse 又較為類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後一個參數為輸出值,如果轉換失敗,輸出值為 0。
(int) 屬 cast 轉換,只能將其它數字類型轉換成 int 類型,它不能轉換字符串,比如下例就會失敗:
代碼如下:

string v = "1";
int n = (int)v;

int.TryParse 示例
代碼如下:

int id = 1;
int.TryParse(Request.QueryString["id"], out id);

如果 QueryString 傳入的 id 值為整數,那麼 id 變量值就是該數值,如果傳入的不是整數,那麼 id 變量值就是 0(不是初始值 1)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved