2012-04-28 2 views
0

Кроме использования петли. Массив int может быть инициализирован с 0s легко, как arr = Enumerable.Range(0, 100).Select(i => new int[100]).ToArray();.Как инициализировать строку или char jagged array в C#?

Есть ли способ инициализировать строку или массив символов аналогичным образом?

+0

Штекер 'string' или 'char' в ваше выражение, где у вас есть' int'. Что ты получил? Это то, что вы хотите? –

+0

Какой результат вы ищете? –

+0

Я просто хочу инициализировать его строкой 0, но вместо этого я получаю кучу нулей при записи в текстовый файл. – Jack

ответ

2

Я думаю, что вы ищете:

string[] arrayOfStringZeros = Enumerable.Range(0, 100) 
             .Select(i => "0") 
             .ToArray(); 


char[] arrayOfCharZeros = Enumerable.Range(0, 100) 
            .Select(i => '0') 
            .ToArray(); 

Обновлено

char[][] jaggedOfCharZeros = Enumerable.Range(0, 100) 
             .Select(i => Enumerable.Range(0, 100) 
                   .Select(j => '0') 
                   .ToArray()) 
             .ToArray(); 

На самом деле это, вероятно, будет немного более эффективным, чтобы сделать:

char[] initZeros = Enumerable.Range(0, 100) 
          .Select(i => '0') 
          .ToArray(); 


char[][] jaggedOfCharZeros = Enumerable.Range(0, 100) 
             .Select(i => (char[])initZeros.Clone()) 
             .ToArray(); 
+0

Но как бы я сделал это для зубчатого массива? – Jack

+0

Сколько вы хотите в каждом? –

+0

A 100x100 массив. – Jack

Смежные вопросы