如何在不使用 C# 中的外部函数的情况下使具有两个参数的条件语句不包含重复语句?
How to make a conditional statement with two parameter do not consists of repetitive statements without using external function in C#?
假设有两个布尔变量 a
和 b
,两者真值的每种组合都会导致特定的不同过程。检查此代码:
if(a)
{
// Block A
if(b)
{
// statement 1
}
else
{
// statement 2
}
}
else {
// Block B
if(b)
{
// statement 3
}
else
{
// statement 4
}
}
有什么办法可以不做一个单独的函数,让它不重复? (我说的重复是block A和block B有相同的条件但不同的语句)
switch expression 适合你吗?
(a, b) switch {
(true, true) => ...,
(true, false) => ...`,
(false, true) => ...,
(false, false) => ...,
};
您可以避免像这样嵌套 if
if(a && b)
{
// statement 1
}
else if(a && !b)
{
// statement 2
}
else if(!a && b)
{
// statement 3
}
else
{
// statement 4
}
我不确定你会认为它更简洁,但我至少觉得它更易读。
假设有两个布尔变量 a
和 b
,两者真值的每种组合都会导致特定的不同过程。检查此代码:
if(a)
{
// Block A
if(b)
{
// statement 1
}
else
{
// statement 2
}
}
else {
// Block B
if(b)
{
// statement 3
}
else
{
// statement 4
}
}
有什么办法可以不做一个单独的函数,让它不重复? (我说的重复是block A和block B有相同的条件但不同的语句)
switch expression 适合你吗?
(a, b) switch {
(true, true) => ...,
(true, false) => ...`,
(false, true) => ...,
(false, false) => ...,
};
您可以避免像这样嵌套 if
if(a && b)
{
// statement 1
}
else if(a && !b)
{
// statement 2
}
else if(!a && b)
{
// statement 3
}
else
{
// statement 4
}
我不确定你会认为它更简洁,但我至少觉得它更易读。