c# - C# 出现但不使用 LINQ 的解决方案
问题描述
对于 C# 中的给定字符串,计算每个重复自身的 > 字符的出现次数(出现多次)。
例子:
string str = "abcdzefazz";
预期输出:
Character a has 2 occurrences.
Character z has 3 occurrences.
解决方案
好吧,对于No Linq 解决方案,您可以在dictionaryforeach
的帮助下使用良好的旧循环。这是性格本身,是发生: Dictionary<char, int>
Key
Value
string str = "abcdzefazz";
...
Dictionary<char, int> occurence = new Dictionary<char, int>();
foreach (char c in str)
if (occurence.TryGetValue(c, out value))
occurence[c] = value + 1;
else
occurence.Add(c, 1);
当您想知道字符的出现 ( number
) 时ch
:
char ch = 'z';
...
int number = occurence.TryGetValue(ch, out value) ? value : 0;
要打印all occurence
,只需遍历字典:
foreach (var pair in occurence)
Console.WriteLine($"Character {pair.Key} has {pair.Value} occurrences");
要获取出现次数超过 1 的所有字符,只需添加条件:
foreach (var pair in occurence)
if (pair.Value > 1)
Console.WriteLine($"Character {pair.Key} has {pair.Value} occurrences");
推荐阅读
- asp.net-core - 如何获取分组列表的日期时间段?
- gps - SIM7600E-H 与 ATMEGA328-P 用于 IZAT 和 LTE 功能
- file - 如何将目录中的最新文件传递给 awk 输入文件?
- google-app-engine - 如何强制谷歌应用引擎使用 https ssl 协议?
- ios - 线程之间的领域数据不一致
- jgit - JavaParser SymbolSolver 和 JGit 查找给定提交的方法限定名称
- android - 尝试使用 Firebase Auth 登录 Facebook 时出现“无效的应用程序 ID”错误
- c# - 在控制台应用程序 C# 中使用获取 IIS 控制台错误
- solidity - 如何在tron中使用ecrecover获取正确的地址
- testflight - Spaceship::UnexpectedResponse: [!] Missing required information to submit for external testing - Missing requied data