C# GetValueOrDefault(TKey):获取具有指定键的元素的值,或者如果该键不存在,则返回默认值

C# GetValueOrDefault(TKey) 方法的完整攻略

方法介绍

在 Dictionary 类中,GetValueOrDefault(TKey) 方法用于获取与指定键关联的值。如果未找到键,则此方法将返回 TValue 类型的默认值。

方法签名

该方法的签名为:

public static TValue GetValueOrDefault<TKey, TValue>(this IDictionary<TKey, TValue> dictionary, TKey key);

参数说明

  • dictionary:IDictionary 接口,表示要从中获取值的泛型字典。
  • key:TKey 类型,表示要检索值的键。

返回值

如果字典包含指定键,则返回该键对应的值;否则返回 TValue 类型的默认值。

示例说明

下面是两个使用 GetValueOrDefault 方法的示例:

示例 1

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Dictionary<string, int> numbers = new Dictionary<string, int>();
        numbers.Add("one", 1);
        numbers.Add("two", 2);
        numbers.Add("three", 3);

        // 获取存在的键
        int value1 = numbers.GetValueOrDefault("two");
        Console.WriteLine(value1);

        // 获取不存在的键
        int value2 = numbers.GetValueOrDefault("six");
        Console.WriteLine(value2);
    }
}

该示例创建了一个包含三个键值对的字典,然后使用 GetValueOrDefault 方法获取字典中的值。由于该示例中的字典包含键 "two",所以第一个 GetValueOrDefault 方法调用返回了字典中与 "two" 关联的值 2。由于该字典不包含键 "six",因此第二个 GetValueOrDefault 方法调用返回字典中默认值的类型 int 的默认值 0。

示例 2

using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        Dictionary<string, string> dictionary = new Dictionary<string, string>();
        dictionary.Add("England", "London");
        dictionary.Add("France", "Paris");

        // TValue 类型为引用类型(string),并且字典中存在指定键,则返回该键对应的值
        string capital1 = dictionary.GetValueOrDefault("England");
        Console.WriteLine(capital1);

        // TValue 类型为引用类型(string),并且字典中不存在指定键,则返回默认值 null
        string capital2 = dictionary.GetValueOrDefault("Germany");
        Console.WriteLine(capital2);

        // TValue 类型为值类型(int),并且字典中不存在指定键,则返回默认值 0(即 TValue 的默认值)
        int value = dictionary.GetValueOrDefault("Spain");
        Console.WriteLine(value);
    }
}

该示例创建了一个包含两个键值对的字典,并使用 GetValueOrDefault 方法从字典中获取值。其中,capital1 和 capital2 变量都是字符串,因为字典中存储的值是引用类型 string。对于不存在于字典中的键 "Germany",GetValueOrDefault 方法返回 null,因为该字典引用的值类型为字符串。对于不存在于字典中的键 "Spain",GetValueOrDefault 方法返回默认值 0,因为该字典引用的值类型为字典类型 TValue 的默认值。

在第二个 GetValueOrDefault 方法调用中,由于 TValue 类型为引用类型(string),字典中不存在指定键,则返回默认值 null,类型为 TValue 的默认值。在第三个 GetValueOrDefault 方法调用中,由于 TValue 类型为值类型(int),字典中不存在指定键,则返回默认值 0,类型为 TValue 的默认值。

总结

GetValueOrDefault(TKey) 是 Dictionary 类型的扩展方法,用于获取与指定键关联的值。如果键不存在,该方法将返回 TValue 类型的默认值。在使用该方法时,请记得检查返回值是否为 null,以避免可能的 NullReferenceException 异常。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# GetValueOrDefault(TKey):获取具有指定键的元素的值,或者如果该键不存在,则返回默认值 - Python技术站

(0)
上一篇 2023年4月19日
下一篇 2023年4月19日

相关文章

  • 教你如何用C#制作文字转换成声音程序

    教你如何用C#制作文字转换成声音程序 前言 随着人工智能的发展,语音技术的应用越来越广泛,其中一项核心技术就是文字转语音。本文将教你如何用C#制作一个文字转语音程序。 准备工作 在开始编写代码之前,我们需要安装.NET框架(如果还未安装的话),推荐安装.NET Framework 4.0及以上版本。 下载地址:https://dotnet.microsoft…

    C# 2023年6月6日
    00
  • C#拼图游戏编写代码(2)

    下面详细讲解如何编写C#拼图游戏的代码,具体分为以下步骤: 1. 创建WinForm窗口 代码中首先需要创建一个WinForm窗口,作为整个游戏的主界面。 public partial class FormMain : Form { public FormMain() { InitializeComponent(); } } 2. 添加拼图图片并进行切割 接…

    C# 2023年5月15日
    00
  • 使用.NET升级助手将.NET Framework项目升级为.NET 6

    使用.NET升级助手将.NET Framework项目升级为.NET 6 本攻略将介绍如何使用.NET升级助手将.NET Framework项目升级为.NET 6。以下是完整的攻略步骤。 步骤 步骤1:安装.NET升级助手 首先,需要安装.NET升级助手。可以使用以下命令在命令行中安装.NET升级助手: dotnet tool install -g upgr…

    C# 2023年5月17日
    00
  • .NetCore使用Swagger+API多版本控制的流程分析

    在.NET Core中,我们可以使用Swagger和API多版本控制来管理和文档化Web API。在本攻略中,我们将详细讲解如何使用Swagger和API多版本控制来管理和文档化Web API,并解析可能遇到的问题。 安装Swagger:首先,我们需要安装Swagger。我们可以使用NuGet包管理器来安装Swashbuckle.AspNetCore包。安装…

    C# 2023年5月16日
    00
  • 让Json更懂中文(JSON_UNESCAPED_UNICODE)

    让JSON更懂中文是指在通过json_encode函数将数组或对象转换为JSON格式字符串时,保留中文字符而不进行转义,以增强可读性和易用性。这可以通过在调用json_encode函数时使用JSON_UNESCAPED_UNICODE选项来实现。 下面是使用JSON_UNESCAPED_UNICODE选项进行JSON编码的完整攻略: 1. 使用JSON_UN…

    C# 2023年5月31日
    00
  • C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法

    C# 中实现输入汉字获取其拼音,通常有两种方法: 1.使用第三方库 pinyin4net pinyin4net 是一个流行的 C# 第三方库,用于将汉字转化为拼音。其基于 python 编写,提供了简单易用的 API。 安装过程 可以通过 NuGet 安装 pinyin4net 包,也可以直接到官网下载源代码。 具体安装步骤: 在 Visual Studio…

    C# 2023年6月7日
    00
  • c# 如何使用结构体实现共用体

    下面是一个详细讲解“C# 如何使用结构体实现共用体”的攻略: 什么是共用体 共用体(Union)是一种特殊的数据类型,它允许在同一内存位置存储不同的数据类型。共用体的大小为其最大成员的大小。 在 C 和 C++ 语言中,我们可以用共用体来实现一个拥有多种数据类型的变量。例如,我们可以定义一个名称为 myUnion 的共用体,它拥有一个整型变量和一个浮点型变量…

    C# 2023年6月6日
    00
  • C#实现中文验证码的示例代码

    下面就为您详细讲解”C#实现中文验证码的示例代码”的完整攻略,其中包含两个示例说明。 1. 前置知识 在实现中文验证码之前,需要先了解以下知识: C#基础编程知识 图形绘制基础 验证码的概念和生成方式 中文字体库的使用 2. 实现过程 2.1 创建项目和添加引用 首先,我们需要创建一个控制台应用程序的项目,然后在该项目中添加System.Drawing和Sy…

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