gpt4 book ai didi

c# - 开关盒编程实践

转载 作者:太空狗 更新时间:2023-10-29 23:21:24 25 4
gpt4 key购买 nike

enum SQLErrorCode{
OK = 0,
PARTIAL_OK = 1,
SOMEWHAT_OK = 2,
NOT_OK = 3,
};

代码 1:

int error = getErrorCode();
if((error == SQLErrorCode.PARTIAL_OK) ||
(error == SQLErrorCode.SOMEWHAT_OK) ||
(error == SQLErrorCode.NOT_OK) ||
(error < 0))
callFunction1();
else
callFunction2();

代码 2:

switch(error){
case SQLErrorCode.PARTIAL_OK:
callFunction1();
break;
case SQLErrorCode.SOMEWHAT_OK:
callFunction1();
break;
case SQLErrorCode.NOT_OK:
callFunction1();
break;
default:
callFunction2();
break;
}

我应该选择哪种方法。就性能而言,应该没有太大区别。如何处理 switch case 中的 error < 0 条件。

编辑:乔尔的解决方案:

switch(error) {
case SQLErrorCode.PARTIAL_OK:
case SQLErrorCode.SOMEWHAT_OK:
case SQLErrorCode.NOT_OK:
callFunction1();
break;
case SQLErrorCode.OK:
callFunction2();
break;
default: // error < 0 is handled
callFunction1();
break;
}

Q. 错误 < 0 已处理。如果我必须错误地处理其他不属于此处任何情况的数字,包括默认值。

最佳答案

没有表达对哪个最好的偏好,这是另一种可能性:

switch(error){
case SQLErrorCode.PARTIAL_OK:
case SQLErrorCode.SOMEWHAT_OK:
case SQLErrorCode.NOT_OK:
callFunction1();
break;
default:
callFunction2();
break;
}

关于c# - 开关盒编程实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com