在textBox中获取char位置

时间:2016-06-05 03:36:21

标签: c#

我正在尝试获取文本中的每个字符的索引" 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

为什么会这样?

由于

1 个答案:

答案 0 :(得分:2)

string.IndexOf会返回首次出现的字符,这就是为2次查找返回索引c的原因。

MSDN说,

  

报告指定的第一次出现的从零开始的索引   此实例中的Unicode字符或字符串。该方法返回   如果在此实例中找不到字符或字符串,则为-1。

您可以将其转换为for循环并获取每个字符的索引。

for(int i=0;i<textBox1.Text.Length;i++)
{
    MessageBox.Show(textBox1.Text[i] + " - " + i); 
}