c# - 比较列表 C# 中的字符

标签 c# list dictionary

我想知道是否有任何 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/

相关文章:

c# - 从 IWpfTextView 获取非 cs 文件的文档路径

python - 从多维列表 Python 中获取项目

Java 将 List<String> 转换为 Map<String, String>

python - 获取字典中与同一字典中其他键重叠的所有键

c# - 创建由数据库驱动的对象来填充 TreeView - 非常慢

c++ - 我想在 C++ 中为 map<> 的给定 KEY 返回一个 VALUE。如果 KEY 不在 map<> 中,返回什么?

c# - 按住修饰键时,所有 WPF 上下文菜单似乎都无法正确处理突出显示的项目

c# - LINQ 等于 - 它在幕后调用什么?

c# - 使用语句错误

python - 用python合并复杂矩阵