ListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドの意味・解説 

ListDictionary.System.Collections.IEnumerable.GetEnumerator メソッド

ListDictionary を反復処理する IEnumerator を返します

名前空間: System.Collections.Specialized
アセンブリ: System (system.dll 内)
構文構文

Private Function System.Collections.IEnumerable.GetEnumerator
 As IEnumerator Implements IEnumerable.GetEnumerator
Dim instance As ListDictionary
Dim returnValue As IEnumerator

returnValue = CType(instance, IEnumerable).GetEnumerator
IEnumerator IEnumerable.GetEnumerator ()
private:
virtual IEnumerator^ System.Collections.IEnumerable.GetEnumerator () sealed = IEnumerable::GetEnumerator

戻り値
ListDictionaryIEnumerator

解説解説

C# 言語foreach ステートメント (Visual Basic の場合for each) を使用することで列挙子の複雑さ回避できます。したがって列挙子を直接操作するではなくforeach使用お勧めます。

列挙子を使用すると、コレクション内のデータ読み取ることができますが、基になるコレクション変更することはできません。

初期状態では、列挙子はコレクション最初要素前に位置してます。Reset実行した場合も、列挙子はこの位置に戻されます。この位置で Current呼び出すと、例外スローさます。たがってCurrent の値を読み取る前に、MoveNext を呼び出してコレクション最初要素列挙子を進める必要があります

Current は、MoveNext または Reset呼び出されるまでは同じオブジェクト返しますMoveNext は、Current次の要素設定します

MoveNextコレクション末尾を過ぎると、列挙子はコレクション最後要素後ろ配置されMoveNextfalse返します列挙子がこの位置にある場合以降MoveNext呼び出してfalse返されます。MoveNext への最後呼び出しfalse返され場合に、Current呼び出すと例外スローさます。Currentコレクション最初要素に再び設定するには、Reset呼び出してから、MoveNext呼び出します。

コレクション変更されない限り列挙子は有効なままです。要素追加変更削除などの変更コレクションに対して実行されると、列挙子は回復不可能な無効状態になり、次に MoveNext または Reset呼び出すと InvalidOperationException がスローさます。MoveNextCurrent の間でコレクション変更すると、列挙子が無効になっている場合でも、Current設定先の要素返します

列挙子はコレクションへの排他アクセス権持たないため、コレクション列挙処理は、本質的にスレッド セーフな処理ではありません。コレクション同期されている場合でも、他のスレッドがそのコレクション変更する可能性はあり、そのような状況発生すると列挙子例外スローます。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションロックするか、他のスレッドによって行われた変更によってスローされる例外キャッチします。

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

使用例使用例

ListDictionary要素列挙するコード例次に示します

Imports System
Imports System.Collections
Imports System.Collections.Specialized

Public Class SamplesListDictionary   

   Public Shared Sub Main()

      ' Creates and initializes a new ListDictionary.
      Dim myCol As New ListDictionary()
      myCol.Add("Braeburn Apples", "1.49")
      myCol.Add("Fuji Apples", "1.29")
      myCol.Add("Gala Apples", "1.49")
      myCol.Add("Golden Delicious Apples", "1.29")
      myCol.Add("Granny Smith Apples", "0.89")
      myCol.Add("Red Delicious Apples", "0.99")

      ' Display the contents of the collection using For Each. This
 is the preferred method.
      Console.WriteLine("Displays the elements using For Each:")
      PrintKeysAndValues(myCol)

      ' Display the contents of the collection using the enumerator.
      Console.WriteLine("Displays the elements using the IDictionaryEnumerator:")
      PrintKeysAndValues2(myCol)

      ' Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
      Console.WriteLine("Displays the elements using the Keys,
 Values, Count, and Item properties:")
      PrintKeysAndValues3(myCol)

   End Sub 'Main


   ' Uses the For Each statement which hides the complexity of the enumerator.
   ' NOTE: The For Each statement is the preferred way of enumerating
 the contents of a collection.
   Public Shared Sub PrintKeysAndValues(myCol
 As IDictionary)

      Console.WriteLine("   KEY                       VALUE")
      Dim de As DictionaryEntry
      For Each de In  myCol
         Console.WriteLine("   {0,-25} {1}", de.Key,
 de.Value)
      Next de
      Console.WriteLine()

   End Sub 'PrintKeysAndValues


   ' Uses the enumerator. 
   ' NOTE: The For Each statement is the preferred way of enumerating
 the contents of a collection.
   Public Shared Sub PrintKeysAndValues2(myCol
 As IDictionary)
      Dim myEnumerator As IDictionaryEnumerator
 = myCol.GetEnumerator()

      Console.WriteLine("   KEY                       VALUE")
      While myEnumerator.MoveNext()
         Console.WriteLine("   {0,-25} {1}", myEnumerator.Key,
 myEnumerator.Value)
      End While
      Console.WriteLine()

   End Sub 'PrintKeysAndValues2


   ' Uses the Keys, Values, Count, and Item properties.
   Public Shared Sub PrintKeysAndValues3(myCol
 As ListDictionary)
      Dim myKeys(myCol.Count) As [String]
      myCol.Keys.CopyTo(myKeys, 0)

      Console.WriteLine("   INDEX KEY                       VALUE")
      Dim i As Integer
      For i = 0 To myCol.Count - 1
         Console.WriteLine("   {0,-5} {1,-25} {2}",
 i, myKeys(i), myCol(myKeys(i)))
      Next i
      Console.WriteLine()

   End Sub 'PrintKeysAndValues3

End Class 'SamplesListDictionary
 


'This code produces the following output.
'
'Displays the elements using For Each:
'   KEY                       VALUE
'   Braeburn Apples           1.49
'   Fuji Apples               1.29
'   Gala Apples               1.49
'   Golden Delicious Apples   1.29
'   Granny Smith Apples       0.89
'   Red Delicious Apples      0.99
'
'Displays the elements using the IDictionaryEnumerator:
'   KEY                       VALUE
'   Braeburn Apples           1.49
'   Fuji Apples               1.29
'   Gala Apples               1.49
'   Golden Delicious Apples   1.29
'   Granny Smith Apples       0.89
'   Red Delicious Apples      0.99
'
'Displays the elements using the Keys, Values, Count, and Item properties:
'   INDEX KEY                       VALUE
'   0     Braeburn Apples           1.49
'   1     Fuji Apples               1.29
'   2     Gala Apples               1.49
'   3     Golden Delicious Apples   1.29
'   4     Granny Smith Apples       0.89
'   5     Red Delicious Apples      0.99

using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesListDictionary  {

   public static void Main()
  {

      // Creates and initializes a new ListDictionary.
      ListDictionary myCol = new ListDictionary();
      myCol.Add( "Braeburn Apples", "1.49" );
      myCol.Add( "Fuji Apples", "1.29" );
      myCol.Add( "Gala Apples", "1.49" );
      myCol.Add( "Golden Delicious Apples", "1.29" );
      myCol.Add( "Granny Smith Apples", "0.89" );
      myCol.Add( "Red Delicious Apples", "0.99" );

      // Display the contents of the collection using foreach. This
 is the preferred method.
      Console.WriteLine( "Displays the elements using foreach:"
 );
      PrintKeysAndValues1( myCol );

      // Display the contents of the collection using the enumerator.
      Console.WriteLine( "Displays the elements using the
 IDictionaryEnumerator:" );
      PrintKeysAndValues2( myCol );

      // Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
      Console.WriteLine( "Displays the elements using the
 Keys, Values, Count, and Item properties:" );
      PrintKeysAndValues3( myCol );

   }

   // Uses the foreach statement which hides the complexity of the enumerator.
   // NOTE: The foreach statement is the preferred way of enumerating
 the contents of a collection.
   public static void PrintKeysAndValues1(
 IDictionary myCol )  {
      Console.WriteLine( "   KEY                       VALUE" );
      foreach ( DictionaryEntry de in myCol
 )
         Console.WriteLine( "   {0,-25} {1}", de.Key, de.Value );
      Console.WriteLine();
   }

   // Uses the enumerator. 
   // NOTE: The foreach statement is the preferred way of enumerating
 the contents of a collection.
   public static void PrintKeysAndValues2(
 IDictionary myCol )  {
      IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();
      Console.WriteLine( "   KEY                       VALUE" );
      while ( myEnumerator.MoveNext() )
         Console.WriteLine( "   {0,-25} {1}", myEnumerator.Key, myEnumerator.Value
 );
      Console.WriteLine();
   }

   // Uses the Keys, Values, Count, and Item properties.
   public static void PrintKeysAndValues3(
 ListDictionary myCol )  {
      String[] myKeys = new String[myCol.Count];
      myCol.Keys.CopyTo( myKeys, 0 );

      Console.WriteLine( "   INDEX KEY                       VALUE" );
      for ( int i = 0; i < myCol.Count;
 i++ )
         Console.WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[i], myCol[myKeys[i]]
 );
      Console.WriteLine();
   }

}

/*
This code produces the following output.

Displays the elements using foreach:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Braeburn Apples           1.49
   1     Fuji Apples               1.29
   2     Gala Apples               1.49
   3     Golden Delicious Apples   1.29
   4     Granny Smith Apples       0.89
   5     Red Delicious Apples      0.99

*/

#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues1( IDictionary^ myCol );
void PrintKeysAndValues2( IDictionary^ myCol );
void PrintKeysAndValues3( ListDictionary^ myCol );

int main()
{
   // Creates and initializes a new ListDictionary.
   ListDictionary^ myCol = gcnew ListDictionary;
   myCol->Add( "Braeburn Apples", "1.49" );
   myCol->Add( "Fuji Apples", "1.29" );
   myCol->Add( "Gala Apples", "1.49" );
   myCol->Add( "Golden Delicious Apples", "1.29" );
   myCol->Add( "Granny Smith Apples", "0.89" );
   myCol->Add( "Red Delicious Apples", "0.99" );

   // Display the contents of the collection using for each. This is
 the preferred method.
   Console::WriteLine( "Displays the elements using for
 each:" );
   PrintKeysAndValues1( myCol );

   // Display the contents of the collection using the enumerator.
   Console::WriteLine( "Displays the elements using the IDictionaryEnumerator:"
 );
   PrintKeysAndValues2( myCol );

   // Display the contents of the collection using the Keys, Values,
 Count, and Item properties.
   Console::WriteLine( "Displays the elements using the Keys, Values, Count, and Item
 properties:" );
   PrintKeysAndValues3( myCol );
}

// Uses the for each statement which hides the complexity of the enumerator.
// NOTE: The for each statement is the preferred way of enumerating
 the contents of a collection.
void PrintKeysAndValues1( IDictionary^ myCol )  {
   Console::WriteLine( "   KEY                       VALUE" );
   for each ( DictionaryEntry^ de in myCol
 )
      Console::WriteLine( "   {0,-25} {1}", de->Key, de->Value );
   Console::WriteLine();
}

// Uses the enumerator. 
void PrintKeysAndValues2( IDictionary^ myCol )
{
   IDictionaryEnumerator^ myEnumerator = myCol->GetEnumerator();
   Console::WriteLine( "   KEY                       VALUE" );
   while ( myEnumerator->MoveNext() )
      Console::WriteLine( "   {0,-25} {1}", myEnumerator->Key, myEnumerator->Value
 );

   Console::WriteLine();
}

// Uses the Keys, Values, Count, and Item properties.
void PrintKeysAndValues3( ListDictionary^ myCol )
{
   array<String^>^myKeys = gcnew array<String^>(myCol->Count);
   myCol->Keys->CopyTo( myKeys, 0 );
   Console::WriteLine( "   INDEX KEY                       VALUE" );
   for ( int i = 0; i < myCol->Count;
 i++ )
      Console::WriteLine( "   {0,-5} {1,-25} {2}", i, myKeys[ i ], myCol[
 myKeys[ i ] ] );
   Console::WriteLine();
}

/*
This code produces the following output.

Displays the elements using for each:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Braeburn Apples           1.49
   1     Fuji Apples               1.29
   2     Gala Apples               1.49
   3     Golden Delicious Apples   1.29
   4     Granny Smith Apples       0.89
   5     Red Delicious Apples      0.99

*/
import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;
import System.Collections.DictionaryEntry;

public class SamplesListDictionary
{
    public static void main(String[]
 args)
    {
        // Creates and initializes a new ListDictionary.
        ListDictionary myCol = new ListDictionary();

        myCol.Add("Braeburn Apples", "1.49");
        myCol.Add("Fuji Apples", "1.29");
        myCol.Add("Gala Apples", "1.49");
        myCol.Add("Golden Delicious Apples", "1.29");
        myCol.Add("Granny Smith Apples", "0.89");
        myCol.Add("Red Delicious Apples", "0.99");

        // Display the contents of the collection using for. This is
 the
        // preferred method.
        Console.WriteLine("Displays the elements using for:");
        PrintKeysAndValues1(myCol);

        // Display the contents of the collection using the enumerator.
        Console.WriteLine("Displays the elements using the"
            + " IDictionaryEnumerator:");
        PrintKeysAndValues2(myCol);

        // Display the contents of the collection using the Keys, Values,
 Count,
        // and Item properties.
        Console.WriteLine("Displays the elements using the
 Keys, Values,"
            + " Count, and Item properties:");
        PrintKeysAndValues3(myCol);
    } //main

    // Uses the for statement which hides the complexity of the enumerator.
    // NOTE: The for statement is the preferred way of enumerating the
    // contents of a collection.
    public static void PrintKeysAndValues1(IDictionary
 myCol)
    {
        String strKeys[] = new String[myCol.get_Count()];
        myCol.get_Keys().CopyTo(strKeys,0);

        Console.WriteLine("   KEY                       VALUE");
        for (int iCtr=0; iCtr < myCol.get_Count();
 iCtr++) {
            Console.WriteLine("   {0,-25} {1}", strKeys[iCtr],
                myCol.get_Item(strKeys[iCtr]));
        }
        Console.WriteLine();
    } //PrintKeysAndValues1

    // Uses the enumerator. 
    // NOTE: The for statement is the preferred way of enumerating the
    // contents of a collection.
    public static void PrintKeysAndValues2(IDictionary
 myCol)
    {
        IDictionaryEnumerator myEnumerator = myCol.GetEnumerator();

        Console.WriteLine("   KEY                       VALUE");
        while (myEnumerator.MoveNext()) {
            Console.WriteLine("   {0,-25} {1}", myEnumerator.get_Key()
,
            myEnumerator.get_Value());
        }

        Console.WriteLine();
    } //PrintKeysAndValues2

    // Uses the Keys, Values, Count, and Item properties.
    public static void PrintKeysAndValues3(ListDictionary
 myCol)
    {
        String myKeys[] = new String[myCol.get_Count()];

        myCol.get_Keys().CopyTo(myKeys, 0);
        Console.WriteLine("   INDEX KEY                       VALUE");
        for (int i = 0; i < myCol.get_Count();
 i++) {
            Console.WriteLine("   {0,-5} {1,-25} {2}",  (Int32)i, myKeys[i],
 
                myCol.get_Item(myKeys[i]));
        }
        Console.WriteLine();
    }//PrintKeysAndValues3
}//SamplesListDictionary
 
/*
This code produces the following output.

Displays the elements using for:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the IDictionaryEnumerator:
   KEY                       VALUE
   Braeburn Apples           1.49
   Fuji Apples               1.29
   Gala Apples               1.49
   Golden Delicious Apples   1.29
   Granny Smith Apples       0.89
   Red Delicious Apples      0.99

Displays the elements using the Keys, Values, Count, and Item
 properties:
   INDEX KEY                       VALUE
   0     Braeburn Apples           1.49
   1     Fuji Apples               1.29
   2     Gala Apples               1.49
   3     Golden Delicious Apples   1.29
   4     Granny Smith Apples       0.89
   5     Red Delicious Apples      0.99

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListDictionary クラス
ListDictionary メンバ
System.Collections.Specialized 名前空間
IDictionaryEnumerator インターフェイス
IEnumerator インターフェイス


このページでは「.NET Framework クラス ライブラリ リファレンス」からListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からListDictionary.System.Collections.IEnumerable.GetEnumerator メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

ListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ListDictionary.System.Collections.IEnumerable.GetEnumerator メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS