本教程将介绍在 C# 中获取字符串变量中字符出现次数的方法。
使用 C# 中的 Linq 方法计算字符串中字符的出现次数
Linq
在 C# 中的数据结构上集成了 SQL 功能。下面的代码示例向我们展示了如何使用 C# 中的 Linq 方法获取字符串中某个字符的出现次数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span class="hljs-keyword">using</span> System; <span class="hljs-keyword">using</span> System.Linq; <span class="hljs-keyword">namespace</span> count_occurrences_of_a_char_in_string { <span class="hljs-keyword">class</span> Program { <span class="hljs-function"><span class="hljs-keyword">static</span></span> <span class="hljs-function"><span class="hljs-keyword">void</span></span><span class="hljs-function"> <span class="hljs-title">Main</span><span class="hljs-params">(</span></span><span class="hljs-function"><span class="hljs-params"><span class="hljs-built_in">string</span></span></span><span class="hljs-function"><span class="hljs-params">[] args)</span> </span> { <span class="hljs-built_in">string</span> source = <span class="hljs-string">"/once/upon/a/time/"</span>; <span class="hljs-keyword">int</span> count = source.Count(f => f == <span class="hljs-string">'o'</span>); Console.WriteLine(count); } } } |
输出:
1 2 |
<span class="hljs-number">2</span> |
在上面的代码中,我们使用 C# 中的 Linq 方法计算了字符串变量 source
中字符 o
的出现次数。
使用 C# 中的 String.Split()
方法计算字符串中字符的出现次数
String.Split()
方法基于 C# 中的分隔符将字符串拆分为多个子字符串。String.Split(x)
方法将比字符串中 x
的出现次数多返回 1 个字符串。我们可以计算 String.Split()
方法返回的字符串数,并从中减去 1,以获取主字符串中字符出现的次数。下面的代码示例向我们展示了如何使用 C# 中的 String.Split()
方法来计算字符串变量中字符出现的次数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span class="hljs-keyword">using</span> System; <span class="hljs-keyword">using</span> System.Linq; <span class="hljs-keyword">namespace</span> get_first_char_of_string { <span class="hljs-keyword">class</span> Program { <span class="hljs-function"><span class="hljs-keyword">static</span></span> <span class="hljs-function"><span class="hljs-keyword">void</span></span><span class="hljs-function"> <span class="hljs-title">Main</span><span class="hljs-params">(</span></span><span class="hljs-function"><span class="hljs-params"><span class="hljs-built_in">string</span></span></span><span class="hljs-function"><span class="hljs-params">[] args)</span> </span> { <span class="hljs-built_in">string</span> source = <span class="hljs-string">"/once/upon/a/time/"</span>; <span class="hljs-keyword">int</span> count = source.Split(<span class="hljs-string">'o'</span>).Length - <span class="hljs-number">1</span>; Console.WriteLine(count); } } } |
输出:
1 2 |
<span class="hljs-number">2</span> |
在上面的代码中,我们使用 C# 中的 String.Split()
函数计算了字符串变量 source
中字符 o
的出现次数。
使用 C# 中的 foreach
循环来计算字符串中字符的出现次数
foreach
循环用于遍历 C# 中的数据结构。我们可以使用 foreach
循环遍历字符串变量的每个字符,并使用 C# 中的 if
语句检查该字符是否与所需字符匹配。下面的代码示例向我们展示了如何使用 C# 中的 foreach
循环来计算字符串中字符的出现次数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<span class="hljs-keyword">using</span> System; <span class="hljs-keyword">using</span> System.Linq; <span class="hljs-keyword">namespace</span> get_first_char_of_string { <span class="hljs-keyword">class</span> Program { <span class="hljs-function"><span class="hljs-keyword">static</span></span> <span class="hljs-function"><span class="hljs-keyword">void</span></span><span class="hljs-function"> <span class="hljs-title">Main</span><span class="hljs-params">(</span></span><span class="hljs-function"><span class="hljs-params"><span class="hljs-built_in">string</span></span></span><span class="hljs-function"><span class="hljs-params">[] args)</span> </span> { <span class="hljs-built_in">string</span> source = <span class="hljs-string">"/once/upon/a/time/"</span>; <span class="hljs-keyword">int</span> count = <span class="hljs-number">0</span>; foreach (<span class="hljs-keyword">char</span> c in source){ <span class="hljs-keyword">if</span> (c == <span class="hljs-string">'o'</span>){ count++; } } Console.WriteLine(count); } } } |
输出:
1 2 |
<span class="hljs-number">2</span> |
在上面的代码中,我们使用 C# 中的 foreach
循环计算了字符串变量 source
中字符 o
的出现次数。