此属性的重载列表中有两种方法,如下所示:
- Item [Int32]:用于获取或设置指定索引处的值。
- Item [Object]:用于获取或设置具有指定键的值。
OrderedDictionary.Item [Int32]属性
此属性用于获取或设置指定索引处的值。
句法:
public object this[int index] { get; set; }
在这里, index是要获取或设置的值的从零开始的索引。
返回值:指定索引处的项目值。
例外情况:
- NotSupportedException:如果OrderedDictionary集合为只读。
- ArgumentOutOfRangeException:如果索引小于零或索引等于或大于Count。
下面给出了一些示例,以更好地理解实现:
范例1:
// C# code to get or set the value
// at the specified index for
// OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver method
public static void Main()
{
// Creating a orderedDictionary named myDict
OrderedDictionary myDict = new OrderedDictionary();
// Adding key and value in myDict
myDict.Add("key1", "value1");
myDict.Add("key2", "value2");
myDict.Add("key3", "value3");
myDict.Add("key4", "value4");
myDict.Add("key5", "value5");
// To get or set the value at the
// specified index for OrderedDictionary
Console.WriteLine(myDict[1]);
}
}
输出:
value2
范例2:
// C# code to get or set the value
// at the specified index for
// OrderedDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver method
public static void Main()
{
// Creating a orderedDictionary named myDict
OrderedDictionary myDict = new OrderedDictionary();
// Adding key and value in myDict
myDict.Add("key1", "value1");
myDict.Add("key2", "value2");
myDict.Add("key3", "value3");
myDict.Add("key4", "value4");
myDict.Add("key5", "value5");
// To get or set the value at the
// specified index for OrderedDictionary
// This should raise "ArgumentOutOfRangeException"
// as index is less than 0
Console.WriteLine(myDict[-3]);
}
}
运行时错误:
Unhandled Exception:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
注意:此属性允许您使用以下语法访问集合中的特定元素: myCollection [index] 。
OrderedDictionary.Item [Object]属性
此属性用于获取或设置具有指定键的值。
句法:
public object this[object key] { get; set; }
在此, key是要获取或设置的值的键。
返回值:与指定键关联的值。如果找不到指定的键,则尝试获取它会返回null,然后尝试设置它会使用指定的键创建一个新元素。
异常:如果设置了属性并且OrderedDictionary集合为只读,则此操作程序将提供NotSupportedException。
例子:
// C# code to get or set the
// value with the specified key
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver method
public static void Main()
{
// Creating a orderedDictionary named myDict
OrderedDictionary myDict = new OrderedDictionary();
// Adding key and value in myDict
myDict.Add("key1", "value1");
myDict.Add("key2", "value2");
myDict.Add("key3", "value3");
myDict.Add("key4", "value4");
myDict.Add("key5", "value5");
// To get or set the value
// with the specified key
Console.WriteLine(myDict["key3"]);
}
}
输出:
value3
笔记:
- 该属性允许您使用以下语法访问集合中的特定元素: myCollection [key] 。
- 键不能为null,但值可以为null。
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.specialized.ordereddictionary.item?view=netframework-4.7.2