开发者

Declaring an array with incremental values - is there a shortcut?

This question is probably pretty stupid, but I'm new to C# and I'm not sure if there are any shortcuts to do this. I have a dynamic array for which the range will always be 1-n, with n being variable. Is there anyway to declare an array and have it hold incremental values without looping?

Think along the lines of my array holding values 1-50. I'd like to declare an array as such (logically): double[] myArray = new double[] {1-50} or, more generically for my purposes double[] myArray = new double[] {1-n}. I don't know what made me think of this, I just thought I'd ask.

I am going to bind this array (or list) to a combo box in WPF. I guess setting a combo-box the same way would also work if there's a short开发者_运维百科cut for that.

Sorry for the dumb question. =)


int n = 50;
var doubleArray = Enumerable.Range(1, n).Select(x => (double)x).ToArray();

That will generate a sequence of integers from 1 to n (in this case 50) and then cast each one to a double and create an array from those results.


You could use a List<T> which represents a dynamic array to which you could add elements.


System.Linq.Enumerable.Range can generate än enumeration of int. Cast the enumeration if you really want double.

System.Linq.Enumerable.Range(1,20).ToArray()

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜