C# 泛型字典 Dictionary的使用详解

C# 泛型字典 Dictionary的使用详解

C#中的泛型字典Dictionary,是将键和值进行映射的一种数据结构。Dictionary在C#编程中非常常用,因为它支持高效的键值查找,非常适用于存储一组数据,并且能够快速根据键名找到对应的值。

基本语法

Dictionary属于System.Collections.Generic命名空间,所以要使用Dictionary,需要在程序的开头添加以下代码行:

using System.Collections.Generic;

定义Dictionary的基本语法如下:

Dictionary<TKey, TValue> dictionary = new Dictionary<TKey, TValue>();

其中TKey表示键的数据类型,TValue表示值的数据类型。

添加元素

使用Add()方法向Dictionary中添加元素,Add()方法的参数分别为键和值。

Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("apple", 1);
dictionary.Add("banana", 2);
dictionary.Add("orange", 3);

访问元素

可以使用Dictionary的索引器来访问元素,索引器参数为键。

int value = dictionary["apple"];

如果键不存在,会抛出KeyNotFoundException异常。

还可以使用TryGetValue()方法来访问元素,TryGetValue()方法的第一个参数为键,第二个参数为键对应的值。如果键不存在,方法会返回false。

int value;
if (dictionary.TryGetValue("apple", out value))
{
    Console.WriteLine(value);
}
else
{
    Console.WriteLine("key not found");
}

遍历元素

使用foreach语句遍历Dictionary中的元素,代码示例如下:

foreach (KeyValuePair<string, int> pair in dictionary)
{
    Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}

示例1:统计单词出现次数

以下示例演示如何使用Dictionary来统计一个字符串中单词出现的次数:

string str = "apple banana apple orange orange banana apple";
string[] words = str.Split(' ');
Dictionary<string, int> dictionary = new Dictionary<string, int>();
foreach (string word in words)
{
    if (dictionary.ContainsKey(word))
    {
        dictionary[word]++;
    }
    else
    {
        dictionary.Add(word, 1);
    }
}
foreach (KeyValuePair<string, int> pair in dictionary)
{
    Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}

示例2:统计学生成绩

以下示例演示如何使用Dictionary来统计学生成绩:

Dictionary<string, int> scores = new Dictionary<string, int>();
scores.Add("Tom", 90);
scores.Add("Jerry", 80);
scores.Add("Alice", 70);
scores.Add("Bob", 60);
int totalScore = 0;
foreach (KeyValuePair<string, int> pair in scores)
{
    totalScore += pair.Value;
}
double averageScore = (double)totalScore / scores.Count;
Console.WriteLine("平均分:{0}", averageScore);

以上就是C#泛型字典Dictionary的使用详解及示例。更多有关C#的进阶内容,可以参考其他教程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 泛型字典 Dictionary的使用详解 - Python技术站

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

相关文章

  • C#前端验证和后台验证代码实例

    下面是关于”C#前端验证和后台验证代码实例”的完整攻略: 前言 在开发Web应用程序时,数据的正确性对整个应用程序的安全具有重要意义。为了提高Web应用程序的健壮性,我们需要在前端和后台分别对用户输入的数据进行验证。本文将演示C#如何通过前端验证和后台验证确保用户输入的数据的准确性。 前端验证 在前端验证中,我们使用JavaScript代码来检查用户输入的数…

    C# 2023年5月31日
    00
  • .NET Core 3.0中WPF使用IOC的图文教程

    .NET Core 3.0中WPF使用IOC的图文教程 在本攻略中,我们将介绍如何在.NET Core 3.0中使用IOC容器来管理WPF应用程序中的依赖项,并提供两个示例说明。 准备工作 在使用IOC容器之前,我们需要完成以下准备工作: 安装.NET Core 3.0 SDK。 我们需要在本地计算机或服务器上安装.NET Core 3.0 SDK。可以从.…

    C# 2023年5月16日
    00
  • C#创建Windows服务与服务的安装、卸载

    下面将为你详细讲解“C#创建Windows服务与服务的安装、卸载”的完整攻略。 1. 创建 Windows 服务 1.1 使用 Visual Studio 创建服务项目 打开 Visual Studio,选择“文件”-“新建”-“项目”,在“新建项目”窗口中选择“Windows 服务”项目模板,点击“确定”按钮创建项目。 1.2 设计服务程序 服务程序类必须…

    C# 2023年6月3日
    00
  • c# 数据标注与数据校验

    以下是“c# 数据标注与数据校验”的完整攻略: 什么是数据标注与数据校验 在C#中,数据标注和数据校验是用来确保输入数据的有效性的两个重要概念。数据标注可以将各种标记应用于数据,使得我们可以在数据类中定义该数据的元数据。而数据校验可以帮助保证数据符合特定的规则和限制条件,从而消除了由错误数据引起的问题。 数据标注详解 什么是数据标注 数据标注是一种将标记应用…

    C# 2023年5月31日
    00
  • c# .net 生成图片验证码的代码

    为了在C# .NET中生成图片验证码,我们可以遵循以下步骤: 步骤1:安装NuGet包 我们需要安装 ZXing 和 System.Drawing.Common 两个NuGet包,以便在C#代码中引用。 运行以下命令安装: Install-Package ZXing -Version 1.1.0 Install-Package System.Drawing.…

    C# 2023年5月31日
    00
  • .NET中实现对象数据映射示例详解

    以下是“.NET中实现对象数据映射示例详解”的完整攻略: 什么是对象数据映射 对象数据映射(Object-Relational Mapping,ORM)是一种将对象模型和关系数据库之间的数据转换的技术。ORM可以将对象模型中的数据映射到关系数据库中,也将关系数据库中的数据映射到对象模中。 .NET中实现对象数据映射 在.NET中,我们可以使用多种ORM框架实…

    C# 2023年5月12日
    00
  • .NET使用YARP通过编码方式配置域名转发实现反向代理

    以下是“.NET使用YARP通过编码方式配置域名转发实现反向代理”的完整攻略: 什么是YARP YARP(Yet Another Reverse Proxy)是一个开源的反向代理组件,由微软开发。它是一个轻量级、高性能、可扩展的反向代理组件,可以用于构建高性能的微服务网关、API网关等。 YARP的特性 YARP具有以下特性: 支持HTTP、HTTPS、We…

    C# 2023年5月12日
    00
  • c#封装百度web服务geocoding api 、百度坐标转换示例

    下面是详细讲解“c#封装百度web服务geocodingapi、百度坐标转换示例”的完整攻略。 1.了解百度Web服务、GeoCodingAPI和坐标转换功能 在开始本教程之前,首先需要了解百度Web服务、GeoCodingAPI和坐标转换功能的作用。 1.1 百度Web服务 百度Web服务是百度提供的一种通过互联网进行信息传输的服务。通过百度Web服务,你…

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