我正在尝试获取文本中的每个字符的索引" ABCDCEF" (textBox.text)。问题是第一个C' index是2,第二个C索引是4,但第二个C' C'结果中的索引也是2。
这是代码:
foreach (char character in textBox1.Text)
{
MessageBox.Show(character + " - " + textBox1.Text.IndexOf(character));
}
结果:
char - index
A - 0
B - 1
C - 2
D - 3
C - 2
E - 5
F - 6
正确的结果应该是:
char - index
A - 0
B - 1
C - 2
D - 3
C - 4
E - 5
F - 6
为什么会这样?
由于
答案 0 :(得分:2)
string.IndexOf
会返回首次出现的字符,这就是为2
次查找返回索引c
的原因。
报告指定的第一次出现的从零开始的索引 此实例中的Unicode字符或字符串。该方法返回 如果在此实例中找不到字符或字符串,则为-1。
您可以将其转换为for
循环并获取每个字符的索引。
for(int i=0;i<textBox1.Text.Length;i++)
{
MessageBox.Show(textBox1.Text[i] + " - " + i);
}