gpt4 book ai didi

c# - Int.tryparse 在 If 条件下无法正常工作 - 任何解释?

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:16 25 4
gpt4 key购买 nike

这是我使用带有 if 条件的 Int32.TryParse 的代码。(控制台应用程序)

Console.WriteLine("Enter the no of the person(value for n)");
string number = Console.ReadLine();
Console.WriteLine("Enter the no of the bulb whose state you want to check(value for x)");
string bulbNumber = Console.ReadLine();
if ((Int32.TryParse(number, out n)) || (Int32.TryParse(bulbNumber, out x)))
{
}

如果我们在 quickwatch 中检查 n 的值,那么它会正确捕获您输入的值,但是如果您检查 x 的值,它会令人惊讶地为 0!!! - 任何想法如何克服这个?我想知道是什么导致了这种异常。

最佳答案

你应该使用 && 而不是 ||, "||"是说如果一个是真的,那么它会忽略第二个。使用 && 两者都必须为真。

if ((Int32.TryParse(number, out n)) && (Int32.TryParse(bulbNumber, out x)))
{
//Go crazy
}

您的原始代码意味着它会这样做:

首先tryparse ||第二次尝试解析

第一个完成 > 直接进入 if 语句,忽略第二个,因为已经过了。

&& 表示两者必须为真。

有关这方面的更多信息,您可以使用 MSDN 查看条件语句差异的示例:

&& operator

|| operator

关于c# - Int.tryparse 在 If 条件下无法正常工作 - 任何解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com