C#のEnumerable.Repeatメソッドの使い方を徹底解説
C#のEnumerable.Repeatメソッドは、System.Linq名前空間に含まれる拡張メソッドの一つです。指定した要素を任意の回数だけ繰り返したコレクション(IEnumerable<T>)を簡単に生成できるため、初期化処理やテストデータの作成などで非常に便利です。
基本構文
Enumerable.Repeatメソッドの構文は以下のとおりです。
Enumerable.Repeat(繰り返す要素, 繰り返す回数);
第1引数には繰り返したい要素を、第2引数にはその繰り返し回数を指定します。
使用例:数値を5回繰り返す
例として、数値「10」を5回繰り返すコレクションを作成してみましょう。
Enumerable.Repeat(10, 5);
以下は、このメソッドを使った完全なサンプルコードです。
サンプルコード
using System;
using System.Linq;
class Demo {
static void Main() {
var val = Enumerable.Repeat(10, 5);
foreach (int res in val) {
Console.WriteLine(res);
}
}
}実行結果
10 10 10 10 10
文字列を繰り返す場合
Enumerable.Repeatメソッドは数値だけでなく、文字列など任意の型に対して使用できます。例えば、「Hello」という文字列を3回繰り返す場合は次のように記述します。
var words = Enumerable.Repeat("Hello", 3);
foreach (var w in words) {
Console.WriteLine(w);
}まとめ
Enumerable.Repeatメソッドを使えば、同じ要素を持つコレクションを1行で簡潔に生成できます。ループ処理を書かずに済むため、コードの可読性が向上するのも大きなメリットです。配列やリストの初期化、ダミーデータの作成など、さまざまな場面で活用してみてください。
-
C#のCompareTo()メソッドの使い方を解説
C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数
-
RubyのArray#zipメソッド徹底解説!2つの配列をスマートに結合する方法
2つの配列を要素ごとに比較して、その違いを見つけたいと思ったことはありませんか? あるいは、各インデックスごとに最大の数値を求めたい、キーのリストと値のリストを組み合わせてハッシュを作りたい――そんな場面にも出会うことがあるでしょう。 …これを「面倒な方法」で実装すると、次のようなコードになります。 例:冗長な書き方 a = [1,2,3,4,5] b = [1,2,3,6,8] c = a.map.with_index { |_, idx| [a[idx], b[idx]] } # [[1, 1], [2, 2], [3, 3], [4, 6], [5, 8]] 確かに動作はしますが