嵌套重复参数的简写

时间:2013-10-21 22:59:31

标签: c# arguments operators

对于具有共同参考的参数,是否有任何缩写?

类似的东西:

If(sourceInt != (thisInt || (thatInt && otherInt) ) {....}

而不是写出过大的论点:

If(thatInt == otherInt)
{
    commonInt = thatInt;
}

If(sourceInt != thisInt || sourceInt != commonInt)
{
   ....
}

1 个答案:

答案 0 :(得分:3)

不,没有这样的速记。但是,您可以使用LINQ和数组聚合来接近它。例如,这个

if (myInt == 1 || myInt == 20 || myInt == 75) {
    ...
}

可以表示为

if ((new[] {1, 20, 75}).Any(i => myInt == i)) {
    ...
}

和这个

if (myInt != 1 && myInt != 20 && myInt != 75) {
    ...
}

可以转换为

if ((new[] {1, 20, 75}).All(i => myInt != i)) {
    ...
}