【发布时间】:2020-10-06 21:15:41
【问题描述】:
我正在创建一个计数器,用于计算每个字符在字符串中出现的次数,然后将结果打印到控制台。
让我们使用这个示例字符串:
string myString = "The pen is mightier."
我希望结果是
T : 2
h : 2
e : 3
: 2
p : 1
n : 1
i : 3
s : 1
m : 1
g : 1
r : 1
. : 1
我已将字符串转换为字符数组。
char[] charactersInString = myString.ToCharArray();
我创建了一个存储字母和计数的字典。
Dictionary<char, int> letters = new Dictionary<char, int>();
我循环遍历characterInString 数组中的每个字母,但不确定当字典不包含键时如何初始化和添加新对,或者仅当它包含键时如何更新值?
【问题讨论】:
-
dictionary 有一个 ContainsKey 函数来检查一个值是否存在,还有一个 add 函数来添加.. 记得在 1 处初始化,因为一旦你找到了第一次出现 :)
-
还注意到字符串同时具有 'T' 和 't' 并且您将它们视为相同 - 但希望第一个出现在字典中 - 所以您应该检查 (ContainsKey(char.ToUpper( )) || ContainsKey(char.ToLower()))...
标签: c# dictionary key-value