首页 > 解决方案 > 如何做出正确的“if”陈述?

问题描述

我有个问题。我需要制作两个字符串语句来融合到第三个。
我不喜欢我的 if 语句的样子。
是否可以单独声明(A==a && B==b) || (A==b && B==a)
简而言之(A,B)==(a,b),不管顺序。

string FusionNameGet(string _name1, string _name2)
{
    string result = "Data not found";
    if (_name1 == "Test tube" && _name2 == "Holder pliers" || _name1 == "Holder pliers" && _name2 == "Test tube")
    {
        result = "TTube+HPliers";
    }
    else if (_name1 == "Clean tube" && _name2 == "Q" || _name1 == "Q" && _name2 == "Clean tube")
    {
        result = "QLuquid";
    }

    return result;
}

标签: c#

解决方案


您可以以更好的方式设计该方法,并避免用户在调用该方法时进行那种交叉参数。我的意思是,定义枚举和

enum TUBE
{
    TEST_TUBE,
    CLEAN_TUBE,
    YOU_TUBE
};
enum TYPE2
{
    Q,
    Holder_pliers
};
 string FusionNameGet(TUBE p1, TYPE2 p2)
 {
    if(p1==TUBE.TEST_TUBE && p2 == TYPE2.Q)
        return "TTube+HPliers";
        
    return "";
 }

推荐阅读