我有这个代码:
switch (currentLetter)
{
case 'A': return 'B';
case 'B': return 'C';
case 'C': return 'D';
case 'D': return 'E';
case 'E': return 'F';
case 'F': return 'G';
case 'G': return 'H';
case 'a': return 'b';
case 'b': return 'c';
case 'c': return 'd';
case 'd': return 'e';
case 'e': return 'f';
case 'f': return 'g';
case 'g': return 'h';
}
我想了很多方法来改变它,但我不确定该选择哪个。我可以用 替换所有返回(char)(currentLetter + 1)
,使用带有 ASCII 值的 if 语句来确定范围,然后执行(char)(currentLetter + 1)
,使用Enumerable.Range.Contains
然后查看值是否在范围内,用 if 替换开关等。
这段代码不会在其他任何地方重复,我不确定这是否不是最好的方法,因为代码的读者很清楚发生了什么,他们不必考虑字符代码, 算术等。此外,再也不会有任何字符可以添加到 case 语句中,因此它不会变得笨拙。
不知道我应该保持原样还是改变它。