[英]How to increase the value of a specific array index of a dynamic array?
我正在尝试创建一个动态数组,该数组将存储字符串的频率。 我已经转换并将字符串放入列表。 将值添加到整数列表。 但是找不到增加列表中默认值的方法。
List<int> size = new List<int>();
List<char> frequency = new List<char>();
frequency = line.ToList();
for (int i = 0; i < frequency.Count; i++)
{
size.Insert(i, 0);
}
foreach (char t in frequency)
{
size.Add(new int(1, (int)t));
}
那么……您想要一本具有默认值的字典吗? 或类似的东西?
Dictionary<char, int> frequencies = new Dictionary<char, int>();
foreach(char c in line) {
if(frequencies.ContainsKey(c)) {
frequencies[c]++;
} else {
frequencies.Add(c, 1);
}
}
您可以使用LINQ将字符频率转换成字典结构。 假设大小写无关紧要,因此c == C
但是您可以通过删除Char.ToUpper()
调用来更改它。
List<String> lines = new List<string>() { "This is", "my", "sentence" };
var charFreq = String.Join("", lines).GroupBy(x => Char.ToUpper(x))
.ToDictionary(x => x.Key, x => x.Count());
以上lines
列表的输出将是
T, 2
H, 1
I, 2
S, 3
, 1
M, 1
Y, 1
E, 3
N, 2
C, 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.