2014-01-29 75 views
0

我對c#相當陌生,我無法弄清楚。該錯誤說我不能將字符串隱式轉換爲int。這是我的代碼片段。謝謝!不能在C#中將類型字符串隱式轉換爲int#

private static int GenerateLetters(int size, bool lowercase) //added a return type 
    { 
     { 
     string randomLetters = string.Empty; 
     Random r = new Random(); 

     for (int i = 0; i < size; i++) 
     { 
      randomLetters += Convert.ToChar(r.Next(65, 90));     
     } 

     if (lowercase) 
      return randomLetters.ToLower(); 
     else 
      return randomLetters.ToString(); 
      } 
     } 
+0

這裏正在轉換'randomLetters'成字符串中使用的toString和返回它...並在標題已經採取了'int'值......這就是爲什麼你收到此錯誤.. 。請更改其中任何一個。 –

回答

2

你應該改變返回類型的方法來string

private static string GenerateLetters(...) 

順便說一句,如果你改變你的方法,這樣會更好:

private static string GenerateLetters(int size, bool lowercase) //added a return type 
{ 

    char[] chars = new char[size]; 
    Random r = new Random(); 

    for (int i = 0; i < size; i++) 
    { 
     chars[i] = Convert.ToChar(r.Next(65, 90)); 
    } 

    if (lowercase) 
      return new String(chars).ToLower(); 
    else 
      return new String(chars); 

} 
+0

非常感謝您的答覆!它解決了我的問題! :D – YellowSubmarine

+0

'chars [i] = Convert.ToChar(r.Next(65,90));'not'+ =' – dovid

+0

@lomed我改變了感謝警告 –

1

變化

private static int GenerateLetters 

private static string GenerateLetters 

你正在返回字符串,但方法有返回參數int。你正在返回的東西必須與方法存根兼容。

瞭解更多關於methods in c# at MSDN

+0

非常感謝您的回答!它解決了我的問題! :d – YellowSubmarine

相關問題