Int32.TryParse()在失败时返回零 – 成功还是失败?
我从msdn读到这个关于Int32.TryParse()
当此方法返回时,如果转换成功,则包含等效于s中包含的数字的32位有符号整数值,如果转换失败,则包含0。
但是如果传递的字符串本身是字符串表示’0’会发生什么。 所以TryParse
将返回零。 我怎么知道它是成功还是失败?
不, TryParse
返回 true或false表示成功。 out
参数的值用于解析的值,或者在失败时使用0。 所以:
int value; if (Int32.TryParse(someText, out value)) { // Parse successful. value can be any integer } else { // Parse failed. value will be 0. }
因此,如果传入“0”,它将执行第一个块,而如果传入“坏数字”,它将执行第二个块。
该方法返回一个表示成功或失败的布尔值。 用那个。 整数是传递给方法的引用参数,与方法的返回值无关。
这是文档中Int32.TryParse()
的原型。 很明显它返回一个布尔值。 第二个参数是out int
,这意味着参数是通过引用传递的,因此它将被方法变异。
public static bool TryParse( string s, out int result )
因此,要检查成功或失败,请执行以下操作:
int value; if (Int32.TryParse("0", out value)) Console.WriteLine("Parsed as " + value); else Console.WriteLine("Could not parse");
Int32.TryParse()
方法返回一个boolean
值作为return,并将转换后的值作为out参数提供。 因此,您可以检查状态的返回boolean
值。
private static void TryToParse(string value) { int number; bool result = Int32.TryParse(value, out number); if (result) { Console.WriteLine("Converted '{0}' to {1}.", value, number); } else { if (value == null) value = ""; Console.WriteLine("Attempted conversion of '{0}' failed.", value); } }
TryParse()返回一个布尔值。
Int32 testInt; if (!Int32.TryParse("123", out testInt)) { MessageBox.Show("Is not a Int32!"); return; // abbrechen } MessageBox.Show("The parst Int32-value is " + testInt);
使用C#7现在可以在TryParse中声明变量,如…
上述就是C#学习教程:Int32.TryParse()在失败时返回零 – 成功还是失败?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
if (Int32.TryParse(someText, out int value)) { // Parse successful. value can be any integer } else { // Parse failed. value will be 0. }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/999890.html