c# - 如何做出正确的“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;
}
解决方案
您可以以更好的方式设计该方法,并避免用户在调用该方法时进行那种交叉参数。我的意思是,定义枚举和
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 "";
}
推荐阅读
- scilab - Scilab 无法正确读取文本和 csv 文件
- python - 如何在 Python 中将调用类名称发送到记录器类 >
- unix - 在unix中将文件名分成两部分
- sql - SQL 开发人员中出现错误 ORA-00904。似乎没有在线修复可以在创建表格时找到
- python - Discord.Py 创建私人频道
- javascript - 在输入焦点上隐藏 html 中的图标不起作用
- python - Python GET 请求 - 415 不支持的媒体类型
- express - Sequelize 在 Array 上定义关联
- c++ - 使用 Visual Studio 2019 编译 Unicode
- api - India Post API - 如何从 https://data.gov.in/resources/all-india-pincode-directory/api 中提取所有密码