私はこのコードを持っています:
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)
、 if ステートメントを ASCII 値で使用して範囲を決定し(char)(currentLetter + 1)
、 を使用Enumerable.Range.Contains
して、値が範囲内にあるかどうかを確認し、スイッチを if に置き換えます。
このコードは他の場所で繰り返されることはありません。コードの読者には何が起こっているのかが非常に明確であり、文字コードを考える必要がないため、これが最善の方法ではないかどうかはわかりません。 、算術など。また、case ステートメントに追加する文字がこれ以上ないため、扱いにくくなりません。
そのままにするか、変更するか迷っています。