C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でStringCollectionを反復処理する列挙子(Enumerator)を取得する方法

StringCollectionを反復処理するための列挙子(Enumerator)を取得するには、GetEnumerator()メソッドを使用します。このメソッドはStringEnumerator型のオブジェクトを返し、MoveNext()Currentを組み合わせることで、コレクション内の各要素に順番にアクセスできます。

基本的な使い方

まずは、配列の要素をStringCollectionに追加し、列挙子を使って反復処理する例を見てみましょう。

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main(){
      StringCollection stringCol = new StringCollection();
      String[] arr = new String[] { "100", "200", "300", "400", "500" };
      Console.WriteLine("Array elements...");
      foreach (string res in arr){
         Console.WriteLine(res);
      }
      stringCol.AddRange(arr);
      Console.WriteLine("Does the specified string is in the StringCollection? = "+stringCol.Contains("800"));
      Console.WriteLine("Total number of elements = "+stringCol.Count);
      Console.WriteLine("Iterating through StringCollection = "+stringCol.Count);
      StringEnumerator myenum = stringCol.GetEnumerator();
      while (myenum.MoveNext())
         Console.WriteLine(myenum.Current);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Array elements...
100
200
300
400
500
Does the specified string is in the StringCollection? = False
Total number of elements = 5
Iterating through StringCollection = 5
100
200
300
400
500

別の例

次に、Add()メソッドで要素を1つずつ追加したStringCollectionに対して、列挙子で反復処理を行う例を紹介します。

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main(){
      StringCollection stringCol = new StringCollection();
      stringCol.Add("10");
      stringCol.Add("20");
      stringCol.Add("30");
      stringCol.Add("40");
      stringCol.Add("50");
      stringCol.Add("60");
      stringCol.Add("70");
      stringCol.Add("80");
      stringCol.Add("90");
      stringCol.Add("100");
      Console.WriteLine("Elements...");
      foreach (string res in stringCol){
         Console.WriteLine(res);
      }
      Console.WriteLine("Iterating through StringCollection with Enumerator...");
      StringEnumerator myenum = stringCol.GetEnumerator();
      while (myenum.MoveNext())
         Console.WriteLine(myenum.Current);
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Elements...
10
20
30
40
50
60
70
80
90
100
Iterating through StringCollection with Enumerator...
10
20
30
40
50
60
70
80
90
100

ポイントまとめ

  • GetEnumerator()メソッドを呼び出すことで、StringCollection用の列挙子(StringEnumerator)を取得できます。
  • MoveNext()は次の要素へ移動し、要素が存在する場合はtrueを返します。
  • Currentプロパティで現在位置の要素を取得できます。
  • foreach文でも反復処理は可能ですが、列挙子を使うとより細かい制御が可能になります。

  1. Instagramで完璧な投稿を作るための5つの便利なテクニック

    Instagramが登場した当初は、単なる新しい写真アプリの一つに過ぎないと思われていました。しかし、わずか数年で2016年には推定6億人のユーザーを抱える本格的なソーシャルメディアへと成長しました。当初は低解像度のカメラ写真を楽しい「フィルター」で彩るだけの流行のアプリでしたが、現在のInstagramはスマートフォンカメラの高性能化とともに進化を続け、独自のコミュニティとネットワークを築き上げています。アプリの基本的な使い方は多くの人が知っていますが、実はあまり知られていない便利な機能も数多く存在します。今回は、より完璧な投稿を実現するための5つのヒントをご紹介します。1. フィルターを整

  2. 歩く・運動・買い物だけでお金が稼げる!おすすめ無料アプリ7選

    最初のフィットネス目標を達成すると、さらなる高みを目指すためのパワーとモチベーションが自然と湧いてくるものです。しかし、初心者の方にとっては、怠け心に打ち勝つためのモチベーションが必要ですよね。お金ほど強力なモチベーションはないのではないでしょうか?実は今、歩くこと、運動すること、そして買い物をすることだけでお金を稼げる時代になっています。この記事では、普段の生活で行っていることをするだけで報酬を得られる、おすすめの無料アプリを7つご紹介します。1. FIMO初心者で体型を維持したいなら、ダイエットやワークアウトをサボらないための仕組みが必要です。だからこそ多くの人がジムに通ったり、パーソナル