温馨提示×

c# sorteddictionary如何查找

c#
小樊
82
2024-11-23 01:23:06
栏目: 编程语言

在C#中,SortedDictionary是一个有序的键值对集合,它会根据键的自然顺序或者提供的比较器进行排序。要查找SortedDictionary中的元素,可以使用以下方法:

  1. 使用ContainsKey(TKey key)方法检查SortedDictionary中是否存在指定的键。如果存在,该方法返回true,否则返回false。
SortedDictionary<int, string> mySortedDictionary = new SortedDictionary<int, string>();
mySortedDictionary.Add(3, "three");
mySortedDictionary.Add(1, "one");
mySortedDictionary.Add(2, "two");

if (mySortedDictionary.ContainsKey(2))
{
    Console.WriteLine("Key 2 exists in the SortedDictionary.");
}
else
{
    Console.WriteLine("Key 2 does not exist in the SortedDictionary.");
}
  1. 使用TryGetValue(TKey key)方法尝试获取SortedDictionary中具有指定键的值。如果找到该键,该方法将返回true并将值存储在out参数中;否则,返回false并将out参数设置为默认值。
SortedDictionary<int, string> mySortedDictionary = new SortedDictionary<int, string>();
mySortedDictionary.Add(3, "three");
mySortedDictionary.Add(1, "one");
mySortedDictionary.Add(2, "two");

string value;
if (mySortedDictionary.TryGetValue(2, out value))
{
    Console.WriteLine("Value for key 2 is: " + value);
}
else
{
    Console.WriteLine("Key 2 does not exist in the SortedDictionary.");
}
  1. 使用IndexOfKey(TKey key)方法获取具有指定键的元素的索引。这个方法在SortedDictionary中查找给定键,并返回其索引。如果找不到该键,则返回-1。
SortedDictionary<int, string> mySortedDictionary = new SortedDictionary<int, string>();
mySortedDictionary.Add(3, "three");
mySortedDictionary.Add(1, "one");
mySortedDictionary.Add(2, "two");

int index = mySortedDictionary.IndexOfKey(2);
if (index != -1)
{
    Console.WriteLine("Key 2 is at index: " + index);
}
else
{
    Console.WriteLine("Key 2 does not exist in the SortedDictionary.");
}

请注意,IndexOfKey方法在.NET Core 3.0及更高版本中可用。在早期版本的.NET Framework中,您需要使用Keys属性遍历SortedDictionary以查找特定键。

0