我试图理解以下代码。但我很难找到任何东西,所以我想确保我正确地理解它。如果我错了,请纠正我。
string choice = txtProduct.Text.ToUpper();
char coordX = choice[0];
int indexX = coordX - 'A';
我认为发生的是每个字符串字母(A,B,C等......)都有一个值,因此coordX - 'A';
只是减去这些值。
因此,如果用户输入了" A"它会是' A' - ' A'这将是0 如果用户输入" B"它将是' B' - ' A'这将是1。 等
答案 0 :(得分:1)
答案 1 :(得分:1)
是的,你是对的。也许它的写作是为了根据abcdefghijklmnopqrstuvwxyz找到第一个字符的序列顺序
答案 2 :(得分:1)
真正发生的事情是当你运行这一行时:
int indexX = coordX - 'A';
它将您的Char转换为其ASCII码,然后减去ASCII并返回结果......
这可能更为简单:
int indexX = (int)coordX - (int)'A';
所以:' A'是65岁和B'用ASCII表示= 66,这样就得到了你看到的结果..