c# 遍历 Dictionary的四种方式

C#中,Dictionary是一种常用的数据结构,它提供了一种键值对的映射关系。在本文中,我们将介绍四种遍历Dictionary的方式,并提供两个示例说明。

示例一:创建一个Dictionary

在这个示例中,我们将创建一个Dictionary,其中包含一些键值对。

using System;
using System.Collections.Generic;

namespace myapp
{
    class Program
    {
        static void Main(string[] args)
        {
            var dict = new Dictionary<string, int>();
            dict.Add("apple", 1);
            dict.Add("banana", 2);
            dict.Add("cherry", 3);
        }
    }
}

在上面的代码中,我们创建了一个Dictionary,其中包含三个键值对。

遍历Dictionary的四种方式

方式一:使用foreach循环遍历

foreach (var item in dict)
{
    Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");
}

在上面的代码中,我们使用foreach循环遍历Dictionary,并输出每个键值对的键和值。

方式二:使用for循环遍历

for (int i = 0; i < dict.Count; i++)
{
    var item = dict.ElementAt(i);
    Console.WriteLine($"Key: {item.Key}, Value: {item.Value}");
}

在上面的代码中,我们使用for循环遍历Dictionary,并输出每个键值对的键和值。

方式三:遍历键

foreach (var key in dict.Keys)
{
    Console.WriteLine($"Key: {key}, Value: {dict[key]}");
}

在上面的代码中,我们遍历Dictionary的键,并输出每个键值对的键和值。

方式四:遍历值

foreach (var value in dict.Values)
{
    Console.WriteLine($"Value: {value}");
}

在上面的代码中,我们遍历Dictionary的值,并输出每个值。

示例二:使用Dictionary实现一个简单的单词计数器

在这个示例中,我们将使用Dictionary实现一个简单的单词计数器。

using System;
using System.Collections.Generic;

namespace myapp
{
    class Program
    {
        static void Main(string[] args)
        {
            var dict = new Dictionary<string, int>();
            var text = "apple banana cherry apple cherry apple";
            var words = text.Split(' ');
            foreach (var word in words)
            {
                if (dict.ContainsKey(word))
                {
                    dict[word]++;
                }
                else
                {
                    dict.Add(word, 1);
                }
            }
            foreach (var item in dict)
            {
                Console.WriteLine($"Word: {item.Key}, Count: {item.Value}");
            }
        }
    }
}

在上面的代码中,我们使用Dictionary实现了一个简单的单词计数器。我们首先将文本拆分为单词,然后遍历每个单词并将其添加到Dictionary中。如果单词已经存在于Dictionary中,则增加其计数器的值。最后,我们遍历Dictionary并输出每个单词的计数器值。

通过这个示例,我们可以看到Dictionary的强大之处,它可以轻松地实现键值对的映射关系,并提供了多种遍历方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c# 遍历 Dictionary的四种方式 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月17日

相关文章

  • c#判断代码是否执行超时的几种方式总结

    让我们来详细讲解一下“c#判断代码是否执行超时的几种方式总结”。 1. 前言 在执行c#代码的过程中,有些情况下我们需要判断代码是否执行超时。比如:当执行某个查询sql时,由于数据量过大或查询条件不合理,就可能会导致查询时间过长,这时候我们就需要用到本文介绍的几种方式来判断是否执行超时。 2. 判断代码是否执行超时的几种方式 本文将介绍如下几种方式: 2.1…

    C# 2023年6月6日
    00
  • C#线程池ThreadPool用法简介

    C#线程池ThreadPool用法简介 简介 C# 线程池(ThreadPool)是 .NET Framework 的一个重要组件,它可以管理和调度运行于多个工作线程上的任务,这样就可以避免频繁地创建和销毁线程。 采用线程池的方式可以优化应用程序的性能,同时降低系统的负担。 使用 使用线程池需要使用 System.Threading 命名空间中的 Threa…

    C# 2023年6月6日
    00
  • C# Path.Combine()方法: 将指定路径的多个部分组合成一个路径

    Path.Combine()方法是C#中用于合并文件路径的工具,它可以将多个字符串路径合并为单个完整的路径,此方法主要用于跨平台的开发和维护,可以避免路径中的错误和混乱,同时也可以方便地管理文件路径。 使用方法如下: Path.Combine(string path1, string path2[, string path3[, string path4[,…

    C# 2023年4月19日
    00
  • ASP.Net邮箱发邮件实例代码

    下面我将给您详细讲解如何使用 ASP.NET 发送邮件的完整攻略。 1. 准备工作 在开始发送邮件之前,您需要在您的 ASP.NET 项目中添加以下名称空间的引用: using System.Net; using System.Net.Mail; 2. 配置邮件设置 在发送邮件之前,您需要配置以下邮件设置: // SMTP 服务器地址 string smtp…

    C# 2023年5月31日
    00
  • jQuery获取地址栏参数插件(模仿C#)

    jQuery获取地址栏参数插件(模仿C#)是一个可以方便的获取URL参数的工具。下面是详细的攻略: 1. 插件的引入 首先需要在页面中引入jQuery库,然后才能引入该插件。可以使用以下代码: <script src="https://code.jquery.com/jquery-3.5.1.min.js"></scri…

    C# 2023年5月15日
    00
  • 详解如何在C#中接受或拒绝Excel中的修订

    如何在C#中接受或拒绝Excel中的修订 为了接受或拒绝Excel文档中的修订,我们需要使用C#中的Microsoft.Office.Interop.Excel库。下面是实现此目的的步骤: 步骤1:在Visual Studio中创建C#项目,并添加对Microsoft.Office.Interop.Excel库的引用 步骤2:打开Excel文档 为了打开Ex…

    C# 2023年6月6日
    00
  • WPF如何自定义ProgressBar滚动条样式

    下面是” WPF如何自定义ProgressBar滚动条样式”的完整攻略。 1. 了解ProgressBar控件 在WPF中,ProgressBar控件常用于展示进度条,可以在控件中设置Value属性来表示进度的大小。而滚动条的显示效果是ProgressBar样式的一种形式,因此,我们可以通过自定义ProgressBar的样式来实现滚动条的效果。 2. 新建自…

    C# 2023年6月6日
    00
  • 深入分析C#异步编程详解

    深入分析C#异步编程详解攻略 什么是异步编程 异步编程是一种在执行操作时不阻塞后续操作的编程模式。在异步编程中,当一个操作被提交时,它的控制被立即返回给调用者,而不需要等待操作的完成。当操作完成后,调用者可以通过回调或轮询的方式获取操作结果。在C#中,异步编程主要通过异步方法和任务的方式实现。 异步编程的优势 异步编程有以下优势: 提高程序的资源利用率 减少…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部