This documentation is archived and is not being maintained.

NameObjectCollectionBase.BaseGet Method (String)

Gets the value of the first entry with the specified key from the NameObjectCollectionBase instance.

Namespace:  System.Collections.Specialized
Assembly:  System (in System.dll)

Protected Function BaseGet ( _
	name As String _
) As Object


Type: System.String
The String key of the entry to get. The key can be Nothing.

Return Value

Type: System.Object
An Object that represents the value of the first entry with the specified key, if found; otherwise, Nothing.

If the collection contains multiple entries with the specified key, this method returns only the first entry. To get the values of subsequent entries with the same key, use the enumerator to iterate through the collection and compare the keys.

Caution noteCaution

This method returns Nothing in the following cases: 1) if the specified key is not found; and 2) if the specified key is found and its associated value is Nothing. This method does not distinguish between the two cases.

This method is an O(1) operation.

The following code example uses BaseGetKey and BaseGet to get specific keys and values.

Imports System
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
         _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]
         Return Me.BaseGet(key)
      End Get
         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 'New

End Class 'MyCollection

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)

      ' 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 'Main

   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 'PrintKeysAndValues

End Class 'SamplesNameObjectCollectionBase 

'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.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.