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# 没有动态的数组,可以用arraylist或list取代

    首先,需要说明的是C#中的数组属于静态数组,即在声明数组时就必须确定数组的长度,而不能在程序运行时再动态更改数组的大小。但是,C#提供了一些其他的数据结构,例如ArrayList和List,可以实现动态数组的功能。下面是使用ArrayList和List的具体说明: 使用ArrayList ArrayList是可以动态调整存储数据的容器,通过Add方法可以向其…

    C# 2023年6月7日
    00
  • C# Linq的Max()方法 – 返回序列中的最大值

    下面是关于C# Linq的Max()使用的完整攻略。 Max()方法简介 Max()是Linq的一个聚合函数,用于返回序列中的最大值。它可以用在数字和日期等类型的序列中。调用此方法时,需要将序列中的元素作为参数传递到Max()方法中。在方法内部,它会比较序列中的元素,并返回最大值。 Max()方法的使用 以下是使用Max()方法的语法: public sta…

    C# 2023年4月19日
    00
  • NetCore 配置Swagger的详细代码

    以下是“NetCore配置Swagger的详细代码”的完整攻略: 什么是Swagger Swagger是一种API文档生成工具,它可以自动生成API文档,并提供一个交式UI,使开人员可以轻松地测试API。 配置Swagger的详细代码 配置Swagger的详细代码包括以下步骤: 安装Swashb.AspNetCore NuGet包。 在Startup.cs文…

    C# 2023年5月12日
    00
  • c#一个定时重启的小程序实现代码第2/2页

    下面是针对“c#一个定时重启的小程序实现代码第2/2页”的完整攻略: 1. 需求概述 该小程序的核心需求是能够在指定的时间周期内自动重启电脑,具体来说,需要实现以下两个功能: 1)程序能够在指定的时间(例如凌晨3点)自动重启电脑; 2)用户可以设置重启周期(例如每隔1天重启一次)。 2. 实现思路 为了实现以上两个功能,我们需要采用以下步骤: 1)获取当前时…

    C# 2023年6月6日
    00
  • VC创建进程CreateProcess的方法

    VC创建进程CreateProcess的方法需要以下几步: 1. 引用头文件和命名空间 在使用CreateProcess方法前需要在工程中引入Windows.h头文件,并在代码中调用Windows命名空间。 #include <Windows.h> using namespace std; 2. 定义参数和启动信息 我们需要定义以下几个参数: l…

    C# 2023年5月31日
    00
  • C#中遍历各类数据集合的方法总结

    C#中遍历各类数据集合的方法总结 在C#中,有很多种不同的数据集合类型,包括列表(List)、数组(Array)、队列(Queue)、堆栈(Stack)、哈希表(Hashtable)、字典(Dictionary)等等。在实际编程过程中,我们需要遍历这些数据集合来处理数据。 本文将介绍C#中遍历各类数据集合的方法总结。 遍历列表(List) List<s…

    C# 2023年5月31日
    00
  • 详解asp.net core封装layui组件示例分享

    详解ASP.NET Core封装Layui组件示例分享 在本攻略中,我们将深入讲解如何在ASP.NET Core中封装Layui组件,并提供两个示例说明。 什么是Layui? Layui是一款轻量级的前端UI框架,具有简单易用、高效快捷、兼容性好等特点。它提供了丰富的UI组件和工具,可以帮助开发人员快速构建美观、易用的Web应用程序。 如何封装Layui组件…

    C# 2023年5月17日
    00
  • c#.NET 写txt文件小例子

    下面是详细的攻略: 1. 准备工作 在开始编写代码之前,需要准备好以下工具和环境: 电脑上已安装 .NET Framework。 某个文本编辑器或 IDE,比如 Visual Studio。 一些基本的 C# 编程知识。 2. 创建 C# 项目 创建一个新的 C# 项目: 打开 Visual Studio,选择 “新建项目”。 在弹出的 “新建项目” 窗口中…

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