我正在尝试编写一个内联函数,以递归地使用 lambda 表达式计算字符串中单词的出现次数。
功能:
Func<string, string, int> getOccurrences = null;
getOccurrences = (text, searchTerm) =>
text.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase) == -1
? 0
: getOccurrences(
text.Substring(
text.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase)
+ searchTerm.Length),
searchTerm) + 1;
问题是我调用IndexOf
了两次方法,第一个是递归中断条件,第二个是获取添加它的值。
有没有建议调用一次?
提前致谢。