Как заменить целое число 1 на «A», 2 на «B» и так далее до Z? - PullRequest
0 голосов
/ 26 апреля 2020

В настоящее время я использую оператор switch для проверки по одному на все 26 чисел. Есть ли более короткая версия к этому?

public static char FormatSeatRow(int row)
    {
        switch (row)
        {
            case 1:
                return 'A';
            case 2:
                return 'B';
            case 3:
                return 'C';
            case 4:
                return 'D';
            case 5:
                return 'E';
            default:
                return '0';
        }
    }

Ответы [ 3 ]

3 голосов
/ 26 апреля 2020

Вы можете сделать это, используя код символов ASCII:

if(row > 0 && row <27)
    return (char)((int)'A' + row - 1);
else
    return '0';
2 голосов
/ 26 апреля 2020
public static char FormatSeatRow(int row)
{
    if (row <= 0 || row > 26) return '0';
    int letterBase = (int)'A' - 1;
    return (char)(letterBase + row);
}
1 голос
/ 26 апреля 2020

Я был бы склонен превратить это в однострочник.

public static char FormatSeatRow(int row)
    => row > 0 && row < 27 ? (char)((int)'A' + row - 1) : '0';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...