代码改变世界

c#把一个字符串,按每个字母作为key,出现的次数作为value形成一个字典的代码

  钟铧若岩  阅读(1)  评论(0编辑  收藏  举报
复制代码
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        string input = "hello world";
        Dictionary<char, int> letterCount = CountLetters(input);

        // 输出结果
        foreach (KeyValuePair<char, int> pair in letterCount)
        {
            Console.WriteLine($"字母 '{pair.Key}' 出现了 {pair.Value} 次。");
        }
    }

    static Dictionary<char, int> CountLetters(string input)
    {
        Dictionary<char, int> letterCount = new Dictionary<char, int>();

        // 遍历字符串中的每个字符
        foreach (char c in input)
        {
            if (letterCount.ContainsKey(c))
            {
                // 如果字典中已经包含该字符,则将其计数加 1
                letterCount[c]++;
            }
            else
            {
                // 如果字典中不包含该字符,则将其添加到字典中,并将计数初始化为 1
                letterCount.Add(c, 1);
            }
        }

        return letterCount;
    }
}
复制代码

使用lamda实现

复制代码
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        string input = "hello world";
        // 使用 Lambda 表达式和 LINQ 统计字符出现次数
        var letterCount = input.GroupBy(c => c)
                               .ToDictionary(g => g.Key, g => g.Count());

        // 输出结果
        foreach (var pair in letterCount)
        {
            Console.WriteLine($"字母 '{pair.Key}' 出现了 {pair.Value} 次。");
        }
    }
}
复制代码

 

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示