在字母整数位置转换字符串的字符?
Convert characters of the string in alphabet integer position?
我想计算字符串的字符整数位置。
但是当我 运行 这个方法时它只计算第一个字符。
我必须有这样的输出:
A = 1 + D = 4 + E = 5, => 10
private int letterNumber(string letter)
{
char c = letter[0];
for (int i = 0; i < letter.Length; i++)
{
c = (char)letter[i];
return char.ToUpper(c) - 64;
}
return c;
}
就是因为这个
return char.ToUpper(c) - 64;
它退出方法和 returns 第一个值,尝试将结果存储在一个变量中并返回它,就像这样
private int letterNumber(string letter)
{
int sum = 0;
char c = letter[0];
for (int i = 0; i < letter.Length; i++)
{
c = (char)letter[i];
sum += char.ToUpper(c) - 64;
}
return sum;
}
此外,A = 1 + D = 4 + E = 4,=> 9 :)
您 return 在循环中 - 这不是您想要的行为。通过一些小的重构,我们可以稍微清理一下:
private int letterNumber(string letter)
{
int sum = 0;
for (int i = 0; i < letter.Length; i++)
{
char c = letter[i]; // declare it in loop - you overwrite it here anyway
sum += char.ToUpper(c) - 64;
}
return sum;
}
我想计算字符串的字符整数位置。 但是当我 运行 这个方法时它只计算第一个字符。
我必须有这样的输出:
A = 1 + D = 4 + E = 5, => 10
private int letterNumber(string letter)
{
char c = letter[0];
for (int i = 0; i < letter.Length; i++)
{
c = (char)letter[i];
return char.ToUpper(c) - 64;
}
return c;
}
就是因为这个
return char.ToUpper(c) - 64;
它退出方法和 returns 第一个值,尝试将结果存储在一个变量中并返回它,就像这样
private int letterNumber(string letter)
{
int sum = 0;
char c = letter[0];
for (int i = 0; i < letter.Length; i++)
{
c = (char)letter[i];
sum += char.ToUpper(c) - 64;
}
return sum;
}
此外,A = 1 + D = 4 + E = 4,=> 9 :)
您 return 在循环中 - 这不是您想要的行为。通过一些小的重构,我们可以稍微清理一下:
private int letterNumber(string letter)
{
int sum = 0;
for (int i = 0; i < letter.Length; i++)
{
char c = letter[i]; // declare it in loop - you overwrite it here anyway
sum += char.ToUpper(c) - 64;
}
return sum;
}