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#在网络波动时防重复提交的方法 在Web开发中,防止重复提交是一个非常常见的问题。当网络波动或者用户重复点击提交按钮时,很容易导致重复提交。本文将介绍一些C#在防止重复提交方面的方法,希望能帮助大家解决这个问题。 方案1:使用Session来控制重复提交 在C#中,可以使用Session来控制重复提交。每次提交请求时,将表单提交的信息与Session中…

    C# 2023年6月2日
    00
  • ASP.NetCore使用Swagger实战

    Swagger是一种API文档生成工具,可以帮助我们快速生成API文档,并提供交互式API测试界面。在本文中,我们将详细讲解如何在ASP.NetCore项目中使用Swagger,包括环境搭建、代码实现、示例说明等。 环境搭建 在开始使用Swagger之前,我们需要先搭建好ASP.NetCore的开发环境。具体来说,我们需要安装以下软件: Visual Stu…

    C# 2023年5月16日
    00
  • 如何在c#中使用Zlib压缩与解压

    使用Zlib库可以在C#中压缩和解压数据。以下是完整的攻略: 安装Zlib库 在使用Zlib库之前,需要先安装一个NuGet软件包。可以在Visual Studio中的“工具” -> “NuGet软件包管理器” -> “管理NuGet软件包解决方案”中搜索并安装名为“Zlib.Portable”的软件包。 压缩数据 首先,需要将要压缩的数据转换为…

    C# 2023年6月3日
    00
  • C#如何在窗体程序中操作数据库数据

    你好,操作数据库是窗体程序的一个关键功能之一,C#通过ADO.NET技术来实现数据库连接,并且提供了丰富的工具和类实现数据的访问、读写和更新等操作。下面是C#在窗体程序中操作数据库数据的完整攻略。 步骤一:创建数据库连接 连接数据库是操作数据库的第一步,C#通过SqlConnection类来创建数据库连接,构造方法的参数是连接字符串,其中包含数据库的地址、用…

    C# 2023年5月15日
    00
  • C# Winform选项卡集成窗体详解

    下面是关于“C# Winform选项卡集成窗体详解”的完整攻略: 1. 确定需求 在实现选项卡集成窗口前,我们需要先确定我们的需求。我们需要考虑以下几个问题: 我们想集成哪些选项卡? 每个选项卡内需要添加哪些控件? 如何处理选项卡之间的切换? 2. 创建WinForm应用程序 首先我们需要在Visual Studio中创建一个WinForm应用程序。创建完成…

    C# 2023年6月1日
    00
  • C#中dotnetcharting的用法实例详解

    C#中dotnetcharting的用法实例详解 简介 DotNetCharting 是基于 .NET 平台的一个强大的图表绘制组件。它可以帮助开发人员快速地在自己的 Web 应用程序中添加各种类型的图表,如 2D 和 3D 图表、仪表盘、实时图表和地图。DotNetCharting 对于那些需要快速建立强大图表的开发人员来说,是一个非常有用的工具。 安装 …

    C# 2023年6月1日
    00
  • C#集合之集(set)的用法

    让我为您详细讲解一下“C#集合之集(set)的用法”。 什么是集(set)? 在C#中,集(set)是一种无序不重复元素的集合。集合是由哈希表实现的,所以集合中的元素是无序的。集合中的每个元素都是唯一的,这意味着同一个元素不会被添加到集合中两次。 集(set)的使用方法 创建集合并添加元素 使用HashSet<T>类可以创建一个集合,并向其中添加…

    C# 2023年6月3日
    00
  • 外键拆分手记

    我习惯性使用OData,它的$expand与层级查询非常好用,这个功能非常依赖于数据库的导航属性,也就是外键结构。最近想着把一个单体的系统拆分为多个小系统,首先需要处理外键依赖的问题。 多个服务各自有各自的数据库,数据库层面并不互通,也就无法使用外键约束。 我使用EF Core来描述数据库的结构,有两个实体类如下: public class AD_Insec…

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