読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

Linq入門記-41 (LINQ To Object, Range, Repeat)

C# Linq


今回は、RangeとRepeatメソッドについてです。


でも、実はこの2つのメソッドって書く事ありませんw
文字通りの動きをしてくれます。てことで、そのままサンプルへ。


書式は以下の通り。

public static IEnumerable<int> Range(
	int start,
	int count
)

public static IEnumerable<TResult> Repeat<TResult>(
	TResult element,
	int count
)


以下、サンプルです。

    #region LinqSamples-38
    public class LinqSamples38 : IExecutable
    {
        public void Execute()
        {
            //
            // Rangeメソッド.
            // このメソッドは、文字通り指定された範囲の数値シーケンスを生成してくれる。
            //
            Console.WriteLine("=============== Range拡張メソッド ================");
            
            int start = 0;
            int count = 20;
            foreach (var i in Enumerable.Range(start, count).Where(item => (item % 2) == 0))
            {
                Console.WriteLine(i);
            }
            Console.WriteLine("===============================================");
            
            //
            // Repeatメソッド.
            // このメソッドは、文字通り指定された回数分、要素を繰り返し生成してくれる。
            //
            Console.WriteLine("=============== Repeat拡張メソッド ================");
            
            foreach (var i in Enumerable.Repeat(100, 5))
            {
                Console.WriteLine(i);
            }
            
            foreach (var s in Enumerable.Repeat("gsf_zero1", 5))
            {
                Console.WriteLine(s);
            }
            
            Console.WriteLine("===============================================");
        }
    }
    #endregion


実行結果は以下の通りです。

  =============== Rangeメソッド ================
  0
  2
  4
  6
  8
  10
  12
  14
  16
  18
  ===============================================
  =============== Repeatメソッド ================
  100
  100
  100
  100
  100
  gsf_zero1
  gsf_zero1
  gsf_zero1
  gsf_zero1
  gsf_zero1
  ===============================================

================================
過去の記事については、以下のページからご参照下さい。