📜  C#|获取SortedList对象中指定键的索引(1)

📅  最后修改于: 2023-12-03 15:30:18.228000             🧑  作者: Mango

C# | 获取SortedList对象中指定键的索引

在C#中,使用SortedList类可以创建一个有序的键值对列表。使用SortedList可以通过键来获取值,但有时候需要知道键在列表中的索引。下面将介绍如何获取SortedList对象中指定键的索引。

使用IndexOfKey方法

SortedList类提供了一个名为IndexOfKey的方法,可以获取指定键的索引。IndexOfKey方法的定义如下:

public virtual int IndexOfKey(object key);

该方法接受一个object类型的参数key,表示要查询的键。返回值为int类型,表示键在SortedList中的索引位置。如果未找到键,则返回负数。

下面的代码片段演示了如何使用IndexOfKey方法获取指定键的索引:

SortedList sortedList = new SortedList();
sortedList.Add("C", "C#");
sortedList.Add("J", "Java");
sortedList.Add("P", "Python");

int index = sortedList.IndexOfKey("J");
if (index >= 0)
{
    Console.WriteLine($"键为J的索引为{index}。");
}
else
{
    Console.WriteLine("未找到键为J。");
}

输出结果为:

键为J的索引为1。
使用Keys属性

SortedList类还提供了一个名为Keys的只读属性,该属性返回一个包含SortedList中所有键的集合。由于是有序列表,因此Keys属性返回的集合也是有序的。可以使用Keys属性获取指定键的索引。

下面的代码片段演示了如何使用Keys属性获取指定键的索引:

SortedList sortedList = new SortedList();
sortedList.Add("C", "C#");
sortedList.Add("J", "Java");
sortedList.Add("P", "Python");

int index = sortedList.Keys.IndexOf("J");
if (index >= 0)
{
    Console.WriteLine($"键为J的索引为{index}。");
}
else
{
    Console.WriteLine("未找到键为J。");
}

输出结果为:

键为J的索引为1。

使用Keys属性获取指定键的索引的方法与使用IndexOfKey方法的效果相同,只是实现方式不同。

结论

以上就是在C#中获取SortedList对象中指定键的索引的两种方法。使用IndexOfKey方法可以直接获取指定键的索引,而使用Keys属性需要再使用IndexOf方法查询键在集合中的索引。无论使用哪种方法,都需要注意未找到键的情况。