在 C# 字典中添加和增加键和值
Add & Increment the Key and Value in C# dictionary
我正在创建一个计数器,用于计算每个字符在字符串中出现的次数,然后将结果打印到控制台。
让我们使用这个示例字符串:
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
数组中的每个字母,我不确定当字典不包含键时如何初始化和添加新对,或者只有当它包含时如何更新值钥匙?
使用 LINQ 非常简单。
var dictionary = myString.GroupBy( x => x ).ToDictionary( x => x.Key, x => x.Count );
如果要将大写和小写视为相同,请预先将字符串强制转换为大写:
var dictionary = myString.ToUpper().GroupBy( x => x ).ToDictionary( x => x.Key, x => x.Count );
如果您想以传统方式进行操作,则需要一个循环。
var dictionary = new Dictionary<char,int>();
foreach (var character in myString.ToUpper())
{
if (dictionary.ContainsKey(character))
{
dictionary[character]++;
}
else
{
dictionary.Add(character, 1);
}
}
我正在创建一个计数器,用于计算每个字符在字符串中出现的次数,然后将结果打印到控制台。
让我们使用这个示例字符串:
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
数组中的每个字母,我不确定当字典不包含键时如何初始化和添加新对,或者只有当它包含时如何更新值钥匙?
使用 LINQ 非常简单。
var dictionary = myString.GroupBy( x => x ).ToDictionary( x => x.Key, x => x.Count );
如果要将大写和小写视为相同,请预先将字符串强制转换为大写:
var dictionary = myString.ToUpper().GroupBy( x => x ).ToDictionary( x => x.Key, x => x.Count );
如果您想以传统方式进行操作,则需要一个循环。
var dictionary = new Dictionary<char,int>();
foreach (var character in myString.ToUpper())
{
if (dictionary.ContainsKey(character))
{
dictionary[character]++;
}
else
{
dictionary.Add(character, 1);
}
}