如何在C#中计算字符或子串在字符串中出现的次数?
大家好!我是一名C#初学者,遇到了一个看似简单但找不到优雅解决方案的问题。我需要计算特定字符(例如'a')在字符串中出现的次数。我尝试手动编写循环,但看起来太繁琐了。以下是我当前的代码:
string text = "Hello, world! Hello, C#!";
char target = 'l';
int count = 0;
for (int i = 0; i < text.Length; i++)
{
if (text[i] == target)
count++;
}
Console.WriteLine(count); // 输出 4
这能工作,但我认为C#应该有内置的解决方案。此外,我不仅需要计算字符,还需要计算整个子串。例如,单词"Hello"在字符串"HelloHelloWorld"中出现了多少次。如果我使用同样的循环方法,对于子串来说会变得非常混乱——需要检查多个索引的匹配。
请问.NET中是否有现成的方法来计算出现次数?也许有类似的东西?