在C#中,SortedDictionary是一个有序的键值对集合,它会根据键的自然顺序或者提供的比较器进行排序。要查找SortedDictionary中的元素,可以使用以下方法:
- 使用
ContainsKey(TKey key)
方法检查SortedDictionary中是否存在指定的键。如果存在,该方法返回true,否则返回false。
SortedDictionarymySortedDictionary = new SortedDictionary (); 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."); }
- 使用
TryGetValue(TKey key)
方法尝试获取SortedDictionary中具有指定键的值。如果找到该键,该方法将返回true并将值存储在out
参数中;否则,返回false并将out
参数设置为默认值。
SortedDictionarymySortedDictionary = new SortedDictionary (); 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."); }
- 使用
IndexOfKey(TKey key)
方法获取具有指定键的元素的索引。这个方法在SortedDictionary中查找给定键,并返回其索引。如果找不到该键,则返回-1。
SortedDictionarymySortedDictionary = new SortedDictionary (); 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以查找特定键。