C# “如何做出正确的决定”;如果;陈述

C# “如何做出正确的决定”;如果;陈述,c#,C#,我有个问题。我需要将两个字符串语句合并成第三个。 我不喜欢我的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" &

我有个问题。我需要将两个字符串语句合并成第三个。
我不喜欢我的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;
}

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

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 "";
 }

首先,你需要用括号来分隔and和OR。你能告诉我什么是versa语句吗?我不明白你的问题。你的代码到底是怎么回事?当您需要检查多个内容时,您当然必须在if语句中写入多个条件。那么“看起来像sh**”到底是什么意思呢?欢迎来到stackoverflow。我推荐,以及阅读和阅读。我根据我对versa陈述的理解编辑了这个问题。如果不是你的意思,请随意回滚。OP正在寻找一种优雅的方式来编写
(A==1&&B==2)| |(A==2&&B==1)
,这里没有回答。谢谢大家的帮助!是的,我没有收到关于如何在没有冗余的情况下优雅地编写if语句的答案,但是我得到了关于如何缩短代码的答案,所以谢谢!