2012-05-05 5 views
11

私は整数変数xとyを持っていて、xからyまでの値を配列に入れたいとしましょう。 C#を使用して、これをインラインで行う良い方法はありますか?値の範囲がxからyに設定された配列を作成する

x.ExpandToArray(y); 

組み込みの方法はあります(拡張メソッドを作成せずに):書き込みにそれを使用し、その後

public static int[] ExpandToArray(this int x, int y) 
{ 
    var arr = int[y - x + 1]; 
    for (int i = x; i <= y; i++) 
    { 
     arr[i-x] = i; 
    } 
    return arr; 
} 

そして:

は、私は拡張メソッドを使用してこれを達成することができます知っています.NETでx.ExpandToArray(y)のようなものを書く?

+1

アイテムの数が固定されていて既知であるときにリストを使用する理由は何ですか? – harold

+0

@harold good point ... – McGarnagle

+0

@harold書き換えた後、変数の混乱を見ても頭痛がする。 – McGarnagle

答えて

25
int[] numbers = Enumerable.Range(x, y - x + 1).ToArray(); 

パラメータ#1は開始値である。 パラメータ#2はカウントです。

+0

ニース!ありがとう。私はこのような何かが存在しなければならないと感じました。 – McGarnagle

+0

param2がcountであるならば、それは 'y - x + 1'であってはなりません。値を4から4にしたい場合、countは0ではなく1にする必要があります。 –

+0

@Sahuaginそれをありがとう、あなたは正しい。一定。 – SimpleVar

関連する問題