这个函数需要检查 a=b=c=0 或者只有一个是 <>0
是否有进行此检查的最佳方法?
void (int p, int a, int s) {
if ((p != 0 && a != 0)
|| (p != 0 && s != 0)
|| (a != 0 && s != 0)
|| (a != 0 && s != 0 && p != 0)) throw new Exception("Error please set A or P or S");
}
最佳答案
一个简单的解决方案,不使用 Linq 或任何随之而来的开销:
public void Check(int p, int a, int s)
{
var count = 0;
if (p != 0) count++;
if (a != 0) count++;
if (s != 0) count++;
if (count >= 2)
Console.WriteLine("Please set only A or P or S or none");
else
Console.WriteLine("OK");
}
工作 fiddle :https://dotnetfiddle.net/ViMmRV
关于c# - 检查是否至少有一个对象不为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59882551/