2015-03-03 45 views
0

c#的新手。我希望我的程序能夠計算特定字母在字符串中出現的數量。計算字符串中的特定字母

public static int countLetters(string word, string countableLetter) 
{ 
    int count = 0; 
    foreach (char c in word) 
    { 
     count++; 
    } 
    return count; 
} 
+1

但你不檢查你的'C'等於在你的foreach語句中使用'countableLetter'。 'countableLetter'會更好地作爲方法參數中的'char'類型。 – 2015-03-03 07:18:30

+0

'int count = word.Count(ch => ch == letter)'given'letter' is'Char' – 2015-03-03 07:19:21

回答

0

如果你尋找確切的字符,然後第二paramater類型更改爲char

public static int countLetters(string word, char countableLetter) 
{ 
    int count = 0; 
    foreach (char c in word) 
    { 
     if(countableLetter == c) 
      count++; 
    } 
    return count; 
} 

但是你可以用Count()方法,其中包括在System.Linq命名空間中做到這一點:

return word.Count(x => x == countableLetter); 

附加:

如果你想找到其中包含任何字符串任何字符,那麼你可以使用:

public static int countLetters(string word, string countableLetters) 
{ 
    int count = 0; 
    foreach (char c in word) 
    { 
     if(countableLetters.Contains(c)) 
      count++; 
    } 
    return count; 
} 

或LINQ:

return word.Count(x => countableLetters.Contains(x)); 
0

您可以使用Enumerable.Count爲:

var count = word.Count(ch => ch == countableLetter); 

注意你應該改變countableLetterchar而不是string

相關問題