2014-11-04 3 views
0

Я хотел бы объявить массив Int rows с переменным размером (X) и инициализировать все значения в 1. На данный момент я использую это:Заполнение массива междунар при объявлении

int[] rows = new int[X]; 
for (int i = 0; i < rows.Length; i++) 
{ 
    rows[i] = 1; 
} 

ли там любой более быстрый/более короткий способ сделать это с каким-то fill(1) или int[] rows = new int[X] {1};?

ответ

1

LINQ:

int[] rows = Enumerable.Repeat(element:1, count: X).ToArray();// named parameter - X 
                   // doesn't tell anything 
+1

Как Эрик Липперт нот, делая это [в десятки раз медленнее, чем просто писать цикл] (http://stackoverflow.com/questions/1897555/what-is-the- эквивалент-из-memset-in-C# comment1804854_1897564) (это [на самом деле] (http://stackoverflow.com/a/1051227/11683)). – GSerg