おあそびですよ、おあそび。
using System;
using System.Collections.Generic;
using Wankuma.Extensions;
namespace Wankuma.Extensions {
public static class SystemExtensions {
// 初項:initial 公差:stride 項数:count の等差数列
public static IEnumerable<int> Sequence(this int count, int initial, int stride) {
for ( int i = 0; i < count; ++i ) {
yield return initial;
initial += stride;
}
}
// initialから1刻みにcount個
public static IEnumerable<int> Sequence(this int count, int initial) {
return count.Sequence(initial,1);
}
// 0からcount-1まで
public static IEnumerable<int> Sequence(this int count) {
return count.Sequence(0,1);
}
}
}
// こーやって使う
public class Program {
public static void Main() {
// 初項2, 公差3 で 5つ。
foreach ( int n in 5.Sequence(2,3) ) {
Console.Write("{0} ", n);
}
// 要素数10コ、ぜんぶ-1で埋める
List<int> array = new List<int>(10.Sequence(-1,0));
}
}