【发布时间】:2015-11-23 09:14:36
【问题描述】:
所以我有一些看起来像这样的 C# 代码:
while(condition)
{
switch(anumber)
{
case 0:
//do something
break;
case 1:
//do something
break;
//and so on
}
}
作为一个编程菜鸟,我最近将关键字continue 添加到我的词汇表中。在做了一些研究后,我遇到了这个:
continue 语句与封闭循环相关
所以我的代码也应该像这样工作:
while(condition)
{
switch(anumber)
{
case 0:
//do something
continue;
//and so on
}
}
但是编写不会产生编译器错误的代码并不是万能的。在循环封闭的开关块中使用continue 是个好主意吗?例如,性能是否有任何差异,或者这只是两种语法不同但在其他方面非常相似的方式来实现相同的结果?
【问题讨论】:
-
首先,它在语法上是正确的。一般来说,谈论一个想法 - 在
switch语句中使用continue并不是一种不好的做法。但是,它会降低可读性并使调试复杂化,我不会使用它。continue属于while,因此破坏了结构嵌套。此外,如果你在这个循环中只有switch,那么你根本不需要这个conitnue。break将提供相同的行为,因为没有其他语句。
标签: c# loops switch-statement