次の方法で共有


NameObjectCollectionBase.BaseGet メソッド

定義

NameObjectCollectionBase インスタンスから、指定したエントリの値を取得します。

オーバーロード

BaseGet(Int32)

NameObjectCollectionBase インスタンスの指定したインデックスにあるエントリの値を取得します。

BaseGet(String)

NameObjectCollectionBase インスタンスから、指定したキーを持つ最初のエントリの値を取得します。

次のコード例では、 と BaseGet を使用BaseGetKeyして特定のキーと値を取得します。

#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

public ref class MyCollection : public NameObjectCollectionBase  {

private:
   DictionaryEntry^ _de;

   // Gets a key-and-value pair (DictionaryEntry) using an index.
public:
   property DictionaryEntry^ default[ int ]  {
      DictionaryEntry^ get( int index )  {
         _de->Key = this->BaseGetKey( index );
         _de->Value = this->BaseGet( index );
         return( _de );
      }
   }

   // Gets or sets the value associated with the specified key.
   property Object^ default[ String^ ]  {
      Object^ get(String^ key)  {
         return( this->BaseGet( key ) );
      }
      void set( String^ key, Object^ value )  {
         this->BaseSet( key, value );
      }
   }

   // Adds elements from an IDictionary into the new collection.
   MyCollection( IDictionary^ d )  {

      _de = gcnew DictionaryEntry();

      for each ( DictionaryEntry^ de in d )  {
         this->BaseAdd( (String^) de->Key, de->Value );
      }
   }
};

public ref class SamplesNameObjectCollectionBase  {

public:
   static void Main()  {

      // Creates and initializes a new MyCollection instance.
      IDictionary^ d = gcnew ListDictionary();
      d->Add( "red", "apple" );
      d->Add( "yellow", "banana" );
      d->Add( "green", "pear" );
      MyCollection^ myCol = gcnew 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"] );

   }

   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 );
      }
   }
};

int main()
{
    SamplesNameObjectCollectionBase::Main();
}

/*
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.

*/
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)

ソース:
NameObjectCollectionBase.cs
ソース:
NameObjectCollectionBase.cs
ソース:
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

取得する値の 0 から始まるインデックス。

戻り値

指定したインデックスにあるエントリの値を表す Object

例外

index が、コレクションのインデックスの正しい範囲から外れています。

注釈

このメソッドは、O(1) 操作です。

適用対象

BaseGet(String)

ソース:
NameObjectCollectionBase.cs
ソース:
NameObjectCollectionBase.cs
ソース:
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

パラメーター

name
String

取得するエントリの String キー。 キーとして null を指定できます。

戻り値

指定したキーを持つエントリが存在する場合は、その最初のエントリの値を表す Object。それ以外の場合は null

注釈

指定したキーを持つ複数のエントリがコレクションに含まれている場合、このメソッドは最初のエントリのみを返します。 同じキーを持つ後続のエントリの値を取得するには、列挙子を使用してコレクションを反復処理し、キーを比較します。

注意事項

このメソッドは、指定したキーが見つからない場合は 1) を返 null します。と 2) 指定したキーが見つかり、関連付けられている値が である場合は null。 このメソッドは、2 つのケースを区別しません。

このメソッドは、O(1) 操作です。

こちらもご覧ください

適用対象