C#获取字符串中某字符或字符串出现的次数或个数

/// <summary>
/// 字符串中含有多少个字符
/// </summary>
/// <param name="s">被寻找字符串</param>
/// <param name="str">待寻找字符串</param>
/// <returns>整形(个数)</returns>
private int StrHowMuch(string Str_s, string Str_str)
{
    if (!Str_s.Contains(Str_str) || Str_str=="")
        return 0;
    int Str_i = 0;
    int Str_t=0;
    for (int Str_j = 0; Str_j < Str_s.Length; Str_j++)
    {
        Str_t = Str_s.IndexOf(Str_str, Str_j);//0开始
        if (Str_t != -1)
        {
            Str_i++;
            Str_j = Str_t - 1 + Str_str.Length;
        }
    }
    return Str_i;
}
int i=StrHowMuch("abcdefgabc","a");//运行结果为 2