减去字符串的值

时间:2015-12-02 19:29:25

标签: c# string

我试图理解以下代码。但我很难找到任何东西,所以我想确保我正确地理解它。如果我错了,请纠正我。

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。 等

3 个答案:

答案 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,这样就得到了你看到的结果..