📅  最后修改于: 2023-12-03 15:30:18.228000             🧑  作者: Mango
在C#中,使用SortedList类可以创建一个有序的键值对列表。使用SortedList可以通过键来获取值,但有时候需要知道键在列表中的索引。下面将介绍如何获取SortedList对象中指定键的索引。
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。
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方法查询键在集合中的索引。无论使用哪种方法,都需要注意未找到键的情况。