我从msdn读到这个 Int32.TryParse()
当此方法返回时,如果转换成功,则包含等效于s中包含的数字的32位有符号整数值,如果转换失败,则包含零.
但是如果传递的字符串本身是字符串表示'0'会发生什么.所以TryParse
将返回零.我怎么知道它是成功还是失败?
Jon*_*eet 66
不,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.
}
Run Code Online (Sandbox Code Playgroud)
因此,如果传入"0",它将执行第一个块,而如果传入"坏数字",它将执行第二个块.
该方法返回一个表示成功或失败的布尔值.用那个.整数是传递给方法的引用参数,与方法的返回值无关.
这里的原型Int32.TryParse()
来自文档.很明显它返回一个布尔值.第二个参数是一个out int
意味着参数通过引用传递,因此它将被方法变异.
public static bool TryParse(
string s,
out int result
)
Run Code Online (Sandbox Code Playgroud)
因此,要检查成功或失败,请执行以下操作:
int value;
if (Int32.TryParse("0", out value))
Console.WriteLine("Parsed as " + value);
else
Console.WriteLine("Could not parse");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31526 次 |
最近记录: |