gpt4 book ai didi

c# - 如果条件的逻辑不起作用

转载 作者:行者123 更新时间:2023-11-30 13:49:19 24 4
gpt4 key购买 nike

我在用户不可见的表单中添加了一个标签。根据标签包含的文本继续进行。

这是我的逻辑,但它失败了。我想这样,如果标签包含“不匹配”或“超时”,则不应继续。

If((!label.Text.Contain("No match")) || label.Text.Contain("Time out"))
{
// proceed further code
}
else
{
// code
}

这里标签包含“不匹配”,然后它移动到正确的else部分。但是当标签包含“超时”时,它进入if循环。所以我修改了代码这样

If((!label.Text.Contain("No match")) || (!label.Text.Contain("Time out")))
{
// proceed further code
}
else
{
// code
}

仍然不工作。如果标签包含“超时”,它仍然进入 if 循环而不是循环。标签一次只包含一个文本,“不匹配”或“超时”或任何其他文本。

最佳答案

我怀疑你想要:

if(!(label.Text.Contains("No match") || label.Text.Contains("Time out")))
{
// proceed further code
}
else
{
// code
}

注意包围。内部是

label.Text.Contains("No match") || label.Text.Contains("Time out")

然后就反过来了。我可能会将其提取到一个单独的变量中:

bool timedOutOrNoMatch = label.Text.Contains("No match") || 
label.Text.Contains("Time out");
if (!timedOutOrNoMatch)
{
}
else
{
}

或者,颠倒它的意义:

if (label.Text.Contains("No match") || label.Text.Contains("Time out"))
{
// Do whatever was in your else block.
}
else
{
// Do whatever was in your first block.
}

如果您对“坏”标签的回应是让您返回或抛出异常,这也可以减少嵌套的数量:

if (label.Text.Contains("No match") || label.Text.Contains("Time out"))
{
output.Text = "Go away";
return;
}
// Now handle the success case

关于c# - 如果条件的逻辑不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782496/

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