小编pla*_*t1K的帖子

使用独占或if语句,C#

我搜索了网站和谷歌,但无法找到我想要的东西.我认为这很简单,但我对C#还不熟悉,所以我遇到了一些麻烦.

基本上,我有一个if语句来测试我所拥有的单选按钮的选择,这是通过单击按钮触发的.默认情况下,我没有任何选择,如果忘记选择一个MessageBox,我的程序将通知我.基本上,在做出选择之前,你不能做任何事情.

到目前为止,我只有3个单选按钮,但今天我又增加了一个,还有一些与新单元相关的代码,包括一个新功能.

我还在试图弄清楚什么是最有效的方法来测试radioButton.Check现在,是临时变量,还是我的if语句?

if (pRKButton.Checked != true ^ hexButton.Checked != true ^ binaryButton.Checked != true)
        {
            MessageBox.Show("Choose a method of encryption.");
            return null;
        }
        else....//More Goes Here
Run Code Online (Sandbox Code Playgroud)

我的主要问题是:为什么当我在if语句中添加一个参数时,使用exclusive或者像这样;

if (pRKButton.Checked != true ^ hexButton.Checked != true ^ binaryButton.Checked != true ^ md5Button.Checked != true)
Run Code Online (Sandbox Code Playgroud)

该程序没有注册我点击任何单选按钮.

此时我正在考虑制作一个列表框来保存所有值并选择选项,因为列表会增长.但我对于无法使用独占或超过3个参数的原因感到非常好奇.在任何程度上,我都不是数学家,但我更愿意学到更多东西.

c# if-statement xor

2
推荐指数
1
解决办法
2813
查看次数

C#IF语句,并且非常具体地做事情

所以,首先,我看过这样的帖子:如何在不使用if语句的情况下找到哪个条件为真

这不是我需要的,虽然这个想法是相关的,因为我希望它是更易读的代码.

我认为Switch是最好的选择,但让我解释一下.

我有这样的声明:

if (input == string.Empty || typeComboBox.Text == null)
{
    MessageBox.Show("Nothing to encrypt!", "Nothing Selected!");            
    return null;
}
Run Code Online (Sandbox Code Playgroud)

因此,这里的想法是,我曾经有过这种说法分成两个"IF"语句,这是不是一个大问题,但对于可读性起见,我要去减少了代码的努力,我想陈述成一个组合.

如果输入为空,我希望MessageBox.Show中的第一个参数出现,但不是第二个.

如果typeComboBox.Text为null,我希望第二个选项出现,但不是第一个.

如果它们都是真实的陈述,我希望两者都出现.

现在,我的目标是在不使用多个测试或方法的情况下完成这些操作.基本上,我的意思是:如果我能找到哪个条件是真的并且在同一个语句中得到结果数据,那将是理想的.

我认为交换机是一种选择,我还不太了解它们,但我认为这需要我根据这个测试的结果做出决策方法,并将结果发送给交换机; 这不是理想的,因为我可以简单地使用两个if语句和更少的代码.

有没有办法在一个声明中这样做?这个特定的程序没有必要,但我想知道未来.

谢谢!

c# if-statement minify

0
推荐指数
1
解决办法
1040
查看次数

标签 统计

c# ×2

if-statement ×2

minify ×1

xor ×1