可能重複:
Whats the main difference between int.Parse() and Convert.ToInt32asp.net C#int.Parse或Convert.toInt
什麼是更好地使用int.Parse
或Convert.toInt
?哪一個更容易出錯,性能副作用好?
可能重複:
Whats the main difference between int.Parse() and Convert.ToInt32asp.net C#int.Parse或Convert.toInt
什麼是更好地使用int.Parse
或Convert.toInt
?哪一個更容易出錯,性能副作用好?
的Convert.ToInt32()
下調用Int32.Parse
。所以唯一的區別是,如果一個null string
傳遞給轉換它returns 0
,而Int32.Parse
則拋出一個ArgumentNullException
。
更容易出錯int.TryParse :)
這是Converto.ToInt的實施,根據反射器:
public static int ToInt32(string value)
{
if (value == null)
{
return 0;
}
return int.Parse(value, CultureInfo.CurrentCulture);
}
解析特別是解析字符串,並讓您更多地控制字符串可能的格式。 Convert.ToInt幾乎可以處理任何可以轉換的類型。 什麼是更容易出錯取決於你的輸入和你期望的變化。 int.TryParse是強健的,因爲它不會拋出異常,其缺點是很容易隱藏解析錯誤。這個選擇取決於你想要做什麼?你想提供反饋,有詳細的解析錯誤信息,使用替代/默認值?
**超過200個問題**您應該真正意識到自動建議,SO現在提供您鍵入您的問題標題。你確定你找不到類似的問題嗎?因爲我發現很多。 – BoltClock 2011-01-26 10:41:38