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

【C#】Enumerable.Repeatで繰り返し要素を含むコレクションを生成する方法

C#で同じ要素を繰り返し含むコレクションを作成したい場合は、Enumerable.Repeat メソッドを使用します。

このメソッドは System.Linq 名前空間に属しており、指定した値を任意の回数だけ繰り返すシーケンス(IEnumerable)を簡単に生成できます。

基本構文

例えば、数値「50」を2回繰り返したコレクションが必要な場合は、第1引数に繰り返したい値、第2引数に繰り返す回数を指定します。

Enumerable.Repeat(50, 2);

このように記述することで、「50」が2つ格納されたシーケンスが生成されます。あとは結果を変数に代入し、foreach文などで取り出して表示すればOKです。

サンプルコード

using System;
using System.Linq;
class Demo {
   static void Main() {
      // 要素「50」を2回繰り返す
      var num = Enumerable.Repeat(50, 2);
      // 繰り返し要素を表示する
      foreach (int ele in num) {
         Console.WriteLine(ele);
      }
   }
}

実行結果

50
50

補足:文字列や他の型でも利用可能

Enumerable.Repeatメソッドは数値だけでなく、文字列や独自に定義したクラスなど、任意の型に対して使用できます。例えば Enumerable.Repeat("Hello", 3) とすれば、「Hello」という文字列が3回繰り返されるコレクションが得られます。

テストデータの初期化や、デフォルト値で埋められたリストを作成したい場合などに非常に便利なメソッドなので、ぜひ活用してみてください。

  1. Pythonで指定したインデックスの要素を繰り返す方法|enumerateとextendを活用したサンプルコード

    リスト内の特定のインデックス(位置)にある要素だけを繰り返して新しいリストを作成したい場合、シンプルなforループによる反復処理に加えて、enumerate関数、extendメソッド、appendメソッドを組み合わせることで簡単に実現できます。 この記事では、指定したインデックスの要素を2回繰り返すPythonプログラムの具体例を、コード・実行結果・処理の流れに沿ってわかりやすく解説します。 サンプルコード my_list = [34, 56, 77, 23, 31, 29, 62, 99] print(The list is :) print(my_list) index_list = [3

  2. Pythonでタプルのリストから正の要素のみを持つタプルを抽出する方法

    タプルのリストから「すべての要素が正の値(0以上)」であるタプルだけを取り出したい場合、リスト内包表記を使うと非常に簡潔に実現できます。 サンプルコード my_list = [(56, 43), (-31, 21, 23), (51, -65, 26), (24, 56)] print("The list is : ") print(my_list) my_result = [sub for sub in my_list if all(elem >= 0 for elem in sub)] print("The positive elements ar