计算字符串中的特定字母

时间:2015-03-03 07:16:34

标签: c# string

c#的新手。我希望我的程序计算特定字母在字符串中出现的数量。

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

2 个答案:

答案 0 :(得分:1)

如果您搜索确切的字符,请将第二个参数类型更改为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));

答案 1 :(得分:0)

您可以使用Enumerable.Count

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

请注意,您应将countableLetter更改为char而不是string