2010-03-01 68 views

回答

4

如果你看看來源,Convert.ToInt64(string)只需調用long.Parse,但首先檢查字符串不是null

我會推薦呼叫long.Parse,因爲它使意圖(字符串解析)更清晰。

如果您要轉換的類型可能會更改,我建議使用Convert類。 (或者如果你從object轉換)

+0

感謝您的回答+1。你能告訴我在哪裏可以找到某些方法的c#源代碼嗎? – road242 2010-03-01 22:08:11

+0

Reflector(http://www.red-gate.com/products/reflector/)或.Net Reference Source(http://referencesource.microsoft.com/) – SLaks 2010-03-01 22:12:01

1

Convert.Int64調用long.Parse內部,之前只是做一個空檢查。這裏的膽量:

if (value == null) 
{ 
    return 0L; 
} 
return long.Parse(value, CultureInfo.CurrentCulture); 

如果你需要空檢查,Convert.Int64是更安全的,這是所有,否則沒有區別。

+0

再次打我一秒鐘...... :-) – SLaks 2010-03-01 21:58:24

0

Convert.Int64實際上調用long.Parse與CultureInfo.CurrentCulture後首先對字符串進行空檢查。所以只要你知道字符串不會爲空,你可以保存這個步驟,並調用long.Parse

2

只是爲了完整性的其他答案,不要忘記long.TryParse這通常是更安全的,如果你是不確定輸入的字符串格式。