F#がシーケンスを作成することができますシーケンスありますC#で整数の配列で配列を作成する方法は?
seq { 0 .. 10 }
を0から10
に数字のシーケンスを作成してC#で似た何かがありますか?
F#がシーケンスを作成することができますシーケンスありますC#で整数の配列で配列を作成する方法は?
seq { 0 .. 10 }
を0から10
に数字のシーケンスを作成してC#で似た何かがありますか?
Enumerable.Range(0, 10);
を使用できます。例:
var seq = Enumerable.Range(0, 10);
MSDNページ
Enumerable.Range(0, 11);
指定された範囲内で整数のシーケンスを生成します。
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx
あなたは、単純な関数を作成することができます。これは、より複雑なシーケンスのために機能します。それ以外の場合はEnumerable.Range
が必要です。
IEnumerable<int> Sequence(int n1, int n2)
{
while (n1 <= n2)
{
yield return n1++;
}
}
うわー、これは私が '収穫'の仕組みを理解できるようにした:D – v01pe
マイ実装:
private static IEnumerable<int> Sequence(int start, int end)
{
switch (Math.Sign(end - start))
{
case -1:
while (start >= end)
{
yield return start--;
}
break;
case 1:
while (start <= end)
{
yield return start++;
}
break;
default:
yield break;
}
}
注:これは、10の項目(9で終わる)で0から始まるシーケンスを作成します。 0 *〜* 10が必要な場合は、2番目のパラメータは11になります。実際の配列が必要で、 'IEnumerable'ではなく、 '.ToArray()'を呼び出します。 –