Convert、Parse、TryParse、(int) 區別

Convert.ToInt3二、int.Parse(Int32.Parse)、int.TryParse、(int) 四者均可以解釋爲將類型轉換爲 int,那它們的區別是什麼呢?

Convert.ToInt32 與 int.Parse 較爲相似,實際上 Convert.ToInt32 內部調用了 int.Parse;spa

int.Parse()只能轉換string類型的,Convert.ToInt32()能夠轉換Object類型字符串

Convert.ToInt32 參數爲 null 時,返回 0;
int.Parse 參數爲 null 時,拋出異常。 string

Convert.ToInt32 參數爲 "" 時,拋出異常;
int.Parse 參數爲 "" 時,拋出異常。 ast

Convert.ToInt32 能夠轉換的類型較多;
int.Parse 只能轉換數字類型的字符串。
int.TryParse 與 int.Parse 又較爲相似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。最後一個參數爲輸出值,若是轉換失敗,輸出值爲 0。異常


int m;
if(int.TryParse("2"),out m))
{
...
}
返回true ,運行{}內,並給m賦值爲2;類型轉換

if(int.TryParse("ddd"),out m))
{
...
}
返回false,不運行if{}內,並給m賦值爲0;co

(int) 屬 cast 轉換,只能將其它數字類型轉換成 int 類型,它不能轉換字符串,好比下例就會失敗:字符

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

相關文章
相關標籤/搜索