【发布时间】:2012-12-27 04:46:57
【问题描述】:
我有这个 If 语句,我想将它们移到 Case-Switch 中
这是我的 if 状态:
if (rResponse.ErrorCode[0] == 0x20 && rResponse.ErrorCode[1] == 0x03)
ErrorMsg = "COMM_FRAME_ERROR";
if (rResponse.ErrorCode[0] == 0x20 && rResponse.ErrorCode[1] == 0x04)
ErrorMsg = "JAM";
if (rResponse.ErrorCode[0] == 0x20 && rResponse.ErrorCode[1] == 0x05)
ErrorMsg = "NO_CARD";
我该怎么做?
【问题讨论】:
-
我认为 Itay 更好地解释了您也可以使用嵌套开关的方式。
-
@Pratik 根据我的经验,最好不要下一个开关。它会使阅读变得非常困难。由于这看起来像是来自程序的错误处理部分,我认为最好按照 Itay 所说的去做,或者为两个字节制作一个“解析器”,我会发布我的想法作为答案。
-
@RobertSnyder 完全同意。我总是避免使用 switch 语句,我最好使用
Database or any generic function(list or any entity) -
现在这是我不知道的事情。我将不得不对此进行调查,因为我刚刚完成了与 OP 在我的项目中所做的类似的事情。我的反应类似于我解决它的方法。您能否详细说明您的想法?
-
@RobertSnyder 我已经发表了我的想法。这不是解决这些小问题所需要的,而是创建
Entities之类的可扩展的枚举。
标签: c# if-statement switch-statement