我想知道是否有任何 c# 函数可以检查字母是否存在不止一次?换句话说,我将一个字符串作为参数发送给一个函数,以检查一个字母是否存在不止一次。例如字符串“AABDCK”应该返回“A”。有什么办法可以用字典吗??
最佳答案
Is there is any way to use dictionary??
Yes 遍历字符串中的每个字符并跟踪每个字符在 Dictionary<char, int>
中出现的次数.
Dictionary<char, int> counts = new Dictionary<char, int>();
foreach (var ch in myString)
{
if (counts.ContainsKey(ch))
{
counts[ch]++;
}
else counts.Add(ch, 1);
}
检查字典中值大于 1 的键。
您也可以使用 Linq 执行此操作。我不在编译器前,但它看起来像
List<char> multipleTimes = myString
.GroupBy(c => c)
.Select(g => new { Character = g.Key, Count = g.Count() })
.Where(a => a.Count > 1)
.Select(a => a.Character)
.ToList();
关于c# - 比较列表 C# 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33445204/