2015-04-14 61 views
0

我正在製作一個很酷的東西,可以發送一封祕密信件給您的朋友,但我遇到了一些問題。我試圖對字符串中的每個字符進行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 /串

回答

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

使用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 
     } 

    } 

} 
0

有兩件事我發現你的代碼有問題。你得到這個錯誤的原因是你在if語句中使用'='而不是'=='。第二件錯誤的事情是裁員。您不需要在文本框上使用ToString(),因爲它已經是一個字符串。您也可以使用foreach循環而不是a,因爲可以將字符串隱式轉換爲字符數組。

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') 
     { 

     } 
    } 
} 
相關問題