目前,我正在使用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';
}
}
您可以使用字符的ASCII代码:
if(row > 0 && row <27)
return (char)((int)'A' + row - 1);
else
return '0';
public static char FormatSeatRow(int row)
{
if (row <= 0 || row > 26) return '0';
int letterBase = (int)'A' - 1;
return (char)(letterBase + row);
}
我倾向于把它变成一行。
public static char FormatSeatRow(int row)
=> row > 0 && row < 27 ? (char)((int)'A' + row - 1) : '0';