C# 字典通过索引获取项目

作者:编程家 分类: c++ 时间:2025-07-06

使用C#中的字典可以通过索引获取项目是一种非常方便和高效的方式。字典是一种键值对的集合,其中每个键都是唯一的,并与一个值相关联。通过使用键,我们可以快速地查找和访问与之相关联的值,而不需要遍历整个集合。

在C#中,可以使用以下代码创建一个字典:

csharp

Dictionary dictionary = new Dictionary();

上述代码创建了一个键的类型为字符串,值的类型为整数的字典。

要向字典中添加项目,可以使用Add方法:

csharp

dictionary.Add("apple", 5);

dictionary.Add("banana", 3);

dictionary.Add("orange", 8);

上述代码将苹果、香蕉和橙子作为键,与它们的数量作为值添加到字典中。

要通过索引获取项目,可以使用方括号语法,并提供所需项目的键:

csharp

int appleQuantity = dictionary["apple"];

Console.WriteLine(appleQuantity); // 输出:5

上述代码通过索引获取了“apple”键对应的值,并将其赋给变量appleQuantity。然后,我们可以将该值输出到控制台。

但是需要注意的是,如果字典中不存在所提供的键,将会抛出KeyNotFoundException异常。为了避免这种情况,我们可以使用TryGetValue方法来检查键是否存在:

csharp

int quantity;

if (dictionary.TryGetValue("pear", out quantity))

{

Console.WriteLine(quantity);

}

else

{

Console.WriteLine("The key 'pear' does not exist in the dictionary.");

}

上述代码尝试获取键为“pear”的值,并将其赋给变量quantity。如果键存在,TryGetValue方法将返回true,并且我们可以访问该值。否则,它将返回false,并且我们可以在控制台输出一条指定键不存在的消息。

案例代码:

下面是一个使用字典通过索引获取项目的例子,该例子展示了如何使用字典来存储学生的姓名和年龄,并通过姓名来获取对应的年龄。

csharp

using System;

using System.Collections.Generic;

class Program

{

static void Main(string[] args)

{

Dictionary studentAges = new Dictionary();

studentAges.Add("John", 18);

studentAges.Add("Alice", 20);

studentAges.Add("Bob", 19);

Console.WriteLine("Enter a student's name:");

string name = Console.ReadLine();

if (studentAges.ContainsKey(name))

{

int age = studentAges[name];

Console.WriteLine("The age of {0} is {1}.", name, age);

}

else

{

Console.WriteLine("The student's name does not exist in the dictionary.");

}

}

}

在上述代码中,我们首先创建了一个名为studentAges的字典,用于存储学生的姓名和年龄。然后,我们添加了几个学生的姓名和年龄。

接下来,我们提示用户输入一个学生的姓名,并将其存储在name变量中。然后,我们使用ContainsKey方法检查字典中是否存在该姓名。如果存在,我们通过索引获取该姓名对应的年龄,并输出到控制台。如果不存在,则输出一条指定学生姓名不存在的消息。

通过使用字典的索引功能,我们可以快速而方便地获取存储在字典中的项目,而不需要遍历整个集合。这在处理大量数据时尤为有用,因为它可以提高程序的性能和效率。