NameObjectCollectionBase.BaseGet 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 NameObjectCollectionBase 实例中获取指定条目的值。
重载
| 名称 | 说明 |
|---|---|
| BaseGet(Int32) |
获取实例的指定索引处的 NameObjectCollectionBase 项的值。 |
| BaseGet(String) |
获取具有实例中指定键 NameObjectCollectionBase 的第一个条目的值。 |
示例
下面的代码示例使用 BaseGetKey 和 BaseGet 获取特定键和值。
using System;
using System.Collections;
using System.Collections.Specialized;
public class MyCollection : NameObjectCollectionBase {
private DictionaryEntry _de = new DictionaryEntry();
// Gets a key-and-value pair (DictionaryEntry) using an index.
public DictionaryEntry this[ int index ] {
get {
_de.Key = this.BaseGetKey( index );
_de.Value = this.BaseGet( index );
return( _de );
}
}
// Gets or sets the value associated with the specified key.
public Object this[ String key ] {
get {
return( this.BaseGet( key ) );
}
set {
this.BaseSet( key, value );
}
}
// Adds elements from an IDictionary into the new collection.
public MyCollection( IDictionary d ) {
foreach ( DictionaryEntry de in d ) {
this.BaseAdd( (String) de.Key, de.Value );
}
}
}
public class SamplesNameObjectCollectionBase {
public static void Main() {
// Creates and initializes a new MyCollection instance.
IDictionary d = new ListDictionary();
d.Add( "red", "apple" );
d.Add( "yellow", "banana" );
d.Add( "green", "pear" );
MyCollection myCol = new MyCollection( d );
Console.WriteLine( "Initial state of the collection (Count = {0}):", myCol.Count );
PrintKeysAndValues( myCol );
// Gets specific keys and values.
Console.WriteLine( "The key at index 0 is {0}.", myCol[0].Key );
Console.WriteLine( "The value at index 0 is {0}.", myCol[0].Value );
Console.WriteLine( "The value associated with the key \"green\" is {0}.", myCol["green"] );
}
public static void PrintKeysAndValues( MyCollection myCol ) {
for ( int i = 0; i < myCol.Count; i++ ) {
Console.WriteLine( "[{0}] : {1}, {2}", i, myCol[i].Key, myCol[i].Value );
}
}
}
/*
This code produces the following output.
Initial state of the collection (Count = 3):
[0] : red, apple
[1] : yellow, banana
[2] : green, pear
The key at index 0 is red.
The value at index 0 is apple.
The value associated with the key "green" is pear.
*/
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
Private _de As New DictionaryEntry()
' Gets a key-and-value pair (DictionaryEntry) using an index.
Default Public ReadOnly Property Item(index As Integer) As DictionaryEntry
Get
_de.Key = Me.BaseGetKey(index)
_de.Value = Me.BaseGet(index)
Return _de
End Get
End Property
' Gets or sets the value associated with the specified key.
Default Public Property Item(key As [String]) As [Object]
Get
Return Me.BaseGet(key)
End Get
Set
Me.BaseSet(key, value)
End Set
End Property
' Adds elements from an IDictionary into the new collection.
Public Sub New(d As IDictionary)
Dim de As DictionaryEntry
For Each de In d
Me.BaseAdd(CType(de.Key, [String]), de.Value)
Next de
End Sub
End Class
Public Class SamplesNameObjectCollectionBase
Public Shared Sub Main()
' Creates and initializes a new MyCollection instance.
Dim d = New ListDictionary()
d.Add("red", "apple")
d.Add("yellow", "banana")
d.Add("green", "pear")
Dim myCol As New MyCollection(d)
Console.WriteLine("Initial state of the collection (Count = {0}):", myCol.Count)
PrintKeysAndValues(myCol)
' Gets specific keys and values.
Console.WriteLine("The key at index 0 is {0}.", myCol(0).Key)
Console.WriteLine("The value at index 0 is {0}.", myCol(0).Value)
Console.WriteLine("The value associated with the key ""green"" is {0}.", myCol("green"))
End Sub
Public Shared Sub PrintKeysAndValues(myCol As MyCollection)
Dim i As Integer
For i = 0 To myCol.Count - 1
Console.WriteLine("[{0}] : {1}, {2}", i, myCol(i).Key, myCol(i).Value)
Next i
End Sub
End Class
'This code produces the following output.
'
'Initial state of the collection (Count = 3):
'[0] : red, apple
'[1] : yellow, banana
'[2] : green, pear
'The key at index 0 is red.
'The value at index 0 is apple.
'The value associated with the key "green" is pear.
BaseGet(Int32)
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
获取实例的指定索引处的 NameObjectCollectionBase 项的值。
protected:
System::Object ^ BaseGet(int index);
protected object BaseGet(int index);
protected object? BaseGet(int index);
member this.BaseGet : int -> obj
Protected Function BaseGet (index As Integer) As Object
参数
- index
- Int32
要获取的值的从零开始的索引。
返回
一个 Object 表示指定索引处的项的值。
例外
index 超出集合的有效索引范围。
注解
此方法是 O(1) 操作。
适用于
BaseGet(String)
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
- Source:
- NameObjectCollectionBase.cs
获取具有实例中指定键 NameObjectCollectionBase 的第一个条目的值。
protected:
System::Object ^ BaseGet(System::String ^ name);
protected object BaseGet(string name);
protected object? BaseGet(string? name);
member this.BaseGet : string -> obj
Protected Function BaseGet (name As String) As Object
参数
返回
一个
注解
如果集合包含具有指定键的多个条目,则此方法仅返回第一个条目。 若要获取具有相同键的后续条目的值,请使用枚举器循环访问集合并比较键。
Caution
如果找不到指定的键,此方法将返回 null 以下情况:1)如果找到指定的键并且其关联的值为 null,则为 2)。 此方法不区分这两种情况。
此方法是 O(1) 操作。