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文でも反復処理は可能ですが、列挙子を使うとより細かい制御が可能になります。
-
Instagramで完璧な投稿を作るための5つの便利なテクニック
Instagramが登場した当初は、単なる新しい写真アプリの一つに過ぎないと思われていました。しかし、わずか数年で2016年には推定6億人のユーザーを抱える本格的なソーシャルメディアへと成長しました。当初は低解像度のカメラ写真を楽しい「フィルター」で彩るだけの流行のアプリでしたが、現在のInstagramはスマートフォンカメラの高性能化とともに進化を続け、独自のコミュニティとネットワークを築き上げています。アプリの基本的な使い方は多くの人が知っていますが、実はあまり知られていない便利な機能も数多く存在します。今回は、より完璧な投稿を実現するための5つのヒントをご紹介します。1. フィルターを整
-
歩く・運動・買い物だけでお金が稼げる!おすすめ無料アプリ7選
最初のフィットネス目標を達成すると、さらなる高みを目指すためのパワーとモチベーションが自然と湧いてくるものです。しかし、初心者の方にとっては、怠け心に打ち勝つためのモチベーションが必要ですよね。お金ほど強力なモチベーションはないのではないでしょうか?実は今、歩くこと、運動すること、そして買い物をすることだけでお金を稼げる時代になっています。この記事では、普段の生活で行っていることをするだけで報酬を得られる、おすすめの無料アプリを7つご紹介します。1. FIMO初心者で体型を維持したいなら、ダイエットやワークアウトをサボらないための仕組みが必要です。だからこそ多くの人がジムに通ったり、パーソナル