Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果3个参数中只有1个参数为真,则返回真_C# - Fatal编程技术网

C# 如果3个参数中只有1个参数为真,则返回真

C# 如果3个参数中只有1个参数为真,则返回真,c#,C#,我有3个数组,如果3个数组中只有1个不是空的,我想传递一个if语句。我只想通过它,如果只有1不是空的,其他2是空的 现在我有一个疯狂的if语句,我想知道它是否可以简化 if((a && !b && !c) || (!a && b && !c) || (!a && !b && c)) 假设a,b和c是布尔值,其值指示对应数组是否为空: (a^b^c)和&!(a&b&c) 如果按顺序对三个布尔值进行异或

我有3个数组,如果3个数组中只有1个不是空的,我想传递一个if语句。我只想通过它,如果只有1不是空的,其他2是空的

现在我有一个疯狂的if语句,我想知道它是否可以简化

if((a && !b && !c) || (!a && b && !c) || (!a && !b && c))

假设
a
b
c
是布尔值,其值指示对应数组是否为空:

(a^b^c)和&!(a&b&c)


如果按顺序对三个布尔值进行异或运算,则当且仅当一个变量为真或三个变量均为真时,该值才为真。因此,表达式的第二部分,以消除所有三个变量均为真的情况。

var bob=new int[]{a,b,c};var oneMatch=bob.Count(z=>z.Length>0)==1
int
更改为任何类型。我假设你的数组被称为
a
b
c
。你一直使用
it
这个词,而且
it
也很难理解你指的是什么。其次,你的代码没有真正的意义。。什么是
abc
?如果它们是数组,它们就没有意义。我在想,让
a
b
c
等于
1
如果为真,
0
否则,只需添加它们。检查总和是否为
1
。a、b和c数组或布尔值可能重复?