检查字符串中每个字符的循环

时间:2015-04-14 18:03:26

标签: c# string

我做了一件很酷的事情,写了一封你可以寄给朋友的秘密信,但我有一些问题。我试图在字符串字符串中的每个字符串上进行for循环,因此它可以检查字母是否是某个值,然后更改它。

这是我的代码:

    private void button1_Click(object sender, EventArgs e)
    {
        string translatedtex = richTextBox1.Text.ToString();      
        int indexletter = translatedtex.Length;
            for (int item = 0; item < indexletter; item++)
            {
                char normal_a = 'a';    
              //   if(translatetext[item] = normal_a)
             //   { //do something 
            //    }

                if(translatetext[item] = "a")
                { //do something 

                }
            }
     }

我已尝试将引号""''=之间的值检查切换为==,但没有任何帮助。 它总是显示此错误: - 属性或索引器string.this [int]无法分配给 - 它只读 - 不能隐式将char类型转换为bool / string

3 个答案:

答案 0 :(得分:2)

我不知道你想做什么:D

但现在语法正确

private void button1_Click(object sender, EventArgs e)
    {
        string translatedtext = richTextBox1.Text.ToString();      
        int indexletter = translatedtext.Length;
            for (int item = 0; item < indexletter; item++)
            {
                char normal_a = 'a';    
              //   if(translatedtext[item] == normal_a)
             //   { //do something 
            //    }

                if(translatedtext[item] == 'a')
                { //do something 

                }
            }
     }

为了你的一般知识:

“==”用于比较; “=”用于分配值

“a”用于字符串; 'a'用于表示

答案 1 :(得分:1)

使用foreach可节省您的时间和代码。

private void button1_Click(object sender, EventArgs e)
{
    string translatedtext = richTextBox1.Text;//Text property is already a string 
                                             //no need to add ToString()

    foreach(char character in translatedtext)
    {
        if(character == 'a')
        {
            //Do something with character
        }

    }

 }

答案 2 :(得分:0)

我发现有两件事你的代码出错了。您收到错误的原因是因为您在if语句中使用了'='而不是'=='。第二件事是错误的。你不需要在文本框上使用ToString(),因为它已经是一个字符串。您也可以使用foreach循环而不是for,因为字符串可以隐式转换为字符数组。

private void button1_Click(object sender, EventArgs e)
{
    string translatedtext = richTextBox1.Text;                                         
    foreach(char character in translatedtext)
    {
        // '==' is used for comparison, '=' is used to assign
        // make sure you use '==' to compare in if statements
        if(character == 'a')
        {

        }
    }
 }