C# TryGetValue(TKey,TValue):获取具有指定键的值

yizhihongxing

C#中的TryGetValue(TKey,TValue)是一个可以用于Dictionary类的方法。该方法的作用是获取指定键所对应的值,如果不存在则返回默认值。下面是该方法的完整攻略。

方法语法

Dictionary类型的TryGetValue()方法有如下两个重载形式:

public bool TryGetValue(TKey key, out TValue value);
public bool TryGetValue(TKey key, TValue value);

其中第一个方法将尝试获取与指定键关联的值,如果值存在,则将该值作为方法的输出参数,返回true。如果值不存在,则返回false,并将输出参数value设置为值类型或引用类型的默认值。

第二个方法与第一个方法类似,但是它将传递的参数value看作是已经初始化的对象,并会将该参数设置为与指定键关联的值。如果值存在,则返回true,否则返回false。

使用示例

以下是两个使用TryGetValue()方法的示例:

示例1:尝试获取Dictionary的指定键的值

Dictionary<string, int> myDictionary = new Dictionary<string, int>();
myDictionary.Add("One", 1);
myDictionary.Add("Two", 2);
myDictionary.Add("Three", 3);

int value1;
if(myDictionary.TryGetValue("Two", out value1))
{
    Console.WriteLine("Value of key 'Two': {0}", value1);
}
else
{
    Console.WriteLine("Key 'Two' not found");
}

int value2;
if(myDictionary.TryGetValue("Four", out value2))
{
    Console.WriteLine("Value of key 'Four': {0}", value2);
}
else
{
    Console.WriteLine("Key 'Four' not found");
}

输出结果为:

Value of key 'Two': 2
Key 'Four' not found

示例2:初始化一个对象并获取Dictionary的指定键的值

Dictionary<string, string> myDictionary = new Dictionary<string, string>();
myDictionary.Add("One", "First");
myDictionary.Add("Two", "Second");
myDictionary.Add("Three", "Third");

string value3 = "";
if(myDictionary.TryGetValue("Two", out value3))
{
    Console.WriteLine("Value of key 'Two': {0}", value3);
}

string value4 = "";
if(myDictionary.TryGetValue("Four", out value4))
{
    Console.WriteLine("Value of key 'Four': {0}", value4);
}
else
{
    Console.WriteLine("Key 'Four' not found");
}

输出结果为:

Value of key 'Two': Second
Key 'Four' not found

总结

TryGetValue()方法在从Dictionary中获取值时非常有用,这样就可以避免因为键不存在而引发异常。我们可以通过两个重载形式的方法来使用,并且可以根据需要决定是否初始化值类型或引用类型的默认值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# TryGetValue(TKey,TValue):获取具有指定键的值 - Python技术站

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

相关文章

  • C#元组类型ValueTuple用法详解

    C#元组类型ValueTuple用法详解 简介 元组类型是C#7.0之后加入的新特性,提供了一种简单方便的方式来存储和传递多个值。元组类型有两种:ValueTuple和Tuple。 本篇攻略将详细讲解ValueTuple类型的用法。 ValueTuple类型的定义 ValueTuple是一个泛型结构体(struct),它所定义的元组类型可以存储1~8个元素,…

    C# 2023年6月7日
    00
  • C#使用泛型队列Queue实现生产消费模式

    一、概述 生产消费模式是一种常用的多线程编程模型,生产者不断向队列中添加任务,消费者从队列中取出任务进行处理。生产者和消费者在不同的线程中运行,通过队列实现线程之间的协作。在 C# 中,可以使用泛型队列 Queue 来实现生产消费模式。本文将详细介绍如何使用 C# 中的泛型队列 Queue 实现生产消费模式。 二、生产消费模式实现步骤 创建泛型队列 Queu…

    C# 2023年6月7日
    00
  • unity里获取text中文字宽度并截断省略的操作

    获取Unity中Text组件中文字宽度并截断省略的操作可以使用Unity自带的TextGenerator类来实现。下面是详细攻略: 步骤1:获取Text组件中的文本字符串 首先,我们需要获取到Text组件中的文本字符串,可以通过Text组件的text属性来获取。例如,如果要获取名为“textObject”的Text组件中的文本字符串,可以使用以下代码: st…

    C# 2023年6月3日
    00
  • ASP.NET Core 3.0轻量级角色API控制授权库

    ASP.NET Core 3.0轻量级角色API控制授权库攻略 ASP.NET Core 3.0提供了一个轻量级的角色API控制授权库,可以用于控制API的访问权限。本攻略将提供一些示例,演示如何使用ASP.NET Core 3.0轻量级角色API控制授权库。 步骤 步骤1:创建一个新的ASP.NET Core Web API项目 首先,需要创建一个新的AS…

    C# 2023年5月17日
    00
  • ASP.NET Core利用Jaeger实现分布式追踪详解

    在本攻略中,我们将详细讲解如何在ASP.NET Core中利用Jaeger实现分布式追踪,并提供两个示例说明。 安装Jaeger:首先,我们需要安装Jaeger。我们可以从官方网站下载Jaeger,并按照官方文档进行安装和配置。 安装Jaeger.Client:接下来,我们需要安装Jaeger.Client NuGet包。我们可以使用Visual Studi…

    C# 2023年5月16日
    00
  • C#代码实现扑克牌排序的几种方式

    C#代码实现扑克牌排序的几种方式 1. 排序算法简介 排序算法是计算机程序设计中重要的算法之一,其目的是把一组无序的数据按照一定的顺序排列。排序算法在许多领域中都有广泛的应用,如在数据库中对数据进行排序,对数据结构中的元素进行排序等。 目前常用的排序算法有插入排序、冒泡排序、选择排序、快速排序、归并排序等。其中,插入排序、冒泡排序、选择排序是比较基础和简单的…

    C# 2023年6月7日
    00
  • C# 中文简体转繁体实现代码

    针对您所提出的问题,我将为您提供一份针对C#中文简体转繁体实现的完整攻略。 1. 了解中文简体和繁体 中文的简体和繁体是两种不同的汉字书写方式,简体汉字主要在中国大陆地区和新加坡使用,而繁体汉字则主要在中国台湾、香港以及澳门等地区使用。因此,如果您的应用需要支持不同地区的用户并且需要涉及到中文的显示和输入,可能需要提供简繁转换的功能。 2. 简体转繁体的实现…

    C# 2023年6月7日
    00
  • win2003 sp2+iis 6.0上部署.net 2.0和.net 4.0网站的方法

    下面是关于“win2003sp2+iis6.0上部署.net2.0和.net4.0网站的方法”的完整攻略,包含两个示例。 1. 简介 在Windows Server 2003 SP2和IIS 6.0上部署.NET 2.0和.NET 4.0网站需要进行一些特定的配置。本文将详细介绍如何在这个环境中部署.NET 2.0和.NET 4.0网站。 2. 部署.NET…

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