詮釋,我讀了鑄造將拋出一個異常,如果投不通過,並且有更好的語法來施放它會返回一個異常的空,而不是如果轉換是不可能的。但我忘了它。任何進修? 謝謝。鑄造在C#
鑄造在C#
回答
我相信這是你要找的內容...
string s = "36";
int resultInt;
int.TryParse(s, out resultInt);
,如果它是從一個字符串起源,可以隨時使用的TryParse()
if(!Int.TryParse(s, out i))
(handle non-int code here)
我認爲你是指的是as
演員。但as
不能用於非參考類型,因此您不能執行int x = obj as int
。
爲了解析int
或其他一些價值型,你可以使用類型特定trycast方法..
int x;
bool success = int.TryParse(someString, out x);
您可以使用「爲」運營商在引用類型。但由於int可以爲null,所以不能使用該運算符。所以對於字符串對象來說,你可以這樣做:
object o = "";
string s = o as string;
但是不能用int來做同樣的事情。
你想找的是as
所以int myCasted = myVar as int;
哪,如果你使用
int x = Convert.toInt32(string)
顯然不會在非空值類型
這不會編譯,不能在值類型上使用'As' – BrokenGlass 2011-03-08 20:04:26
它不適用於*不可爲空的值類型*。 – 2011-03-08 20:57:58
@Eric Lippert,這實際上是我的意思,修正 – msarchet 2011-03-08 21:04:40
工作在C#它在內部調用int.tryparse作爲convert方法是tryparse的靜態包裝類。我覺得它使用起來要乾淨些,儘管理論上它有點慢。
'Convert.ToInt32'仍然會導致無效輸入。如果他正在尋找無異常行爲,那不是。 – 2011-03-09 15:16:54
- 1. C++類鑄造
- 2. C#鑄造
- 3. Java的鑄造和C++的鑄造
- 4. 對象在C#鑄造
- 5. 類型鑄造在c#.net
- 6. 在C中鑄造「div」#
- 7. 類型鑄造在objective-c
- 8. 在C++模板鑄造
- 9. 對象在C#鑄造
- 10. 鑄造C++問題
- 11. C#泛型鑄造
- 12. C:鑄造警告
- 13. C#鑄造問題
- 14. C#鑄造奇怪
- 15. 動態鑄造C#
- 16. 混淆C++鑄造
- 17. 對象C鑄造
- 18. C#鑄造枚舉
- 19. 普通鑄造VS在目標橋鑄造 - Visual C
- 20. C++鑄造運營商和傳統的C鑄造運營商
- 21. 在C:鑄造警告在C:賦值整數從指針沒有鑄造
- 22. 在Java中的類型鑄造/鑄造
- 23. 鑄造在Java
- 24. ASP.NET C#布爾型鑄造
- 25. C#鑄造性能影響
- 26. 鑄造下的Objective-C
- 27. Objective-C安全鑄造宏
- 28. C型鑄造警告
- 29. C#鑄造通用類型
- 30. C指針類型鑄造
神聖的答案溢出! – BrokenGlass 2011-03-08 20:02:58