string[][] Tablero = new string[3][3];
Мне нужно иметь массив 3x3 для сохранения информации. Как это объявить на C #?
c#
arrays
multidimensional-array
jagged-arrays
array-initialization
Оливье Рожье
источник
источник
Ответы:
string[,] Tablero = new string[3,3];
Вы также можете создать его экземпляр в той же строке с синтаксисом инициализатора массива следующим образом:
string[,] Tablero = new string[3, 3] {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} };
источник
var tablero = new string[3,3];
если вы используете C # 3 или новееnew string[,]
new string[,]
...string [,] Tablero = {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} }
Вы, наверное, захотите этого:
string[,] Tablero = new string[3,3];
Это создаст вам матричный массив, в котором все строки имеют одинаковую длину.
Массив в вашем примере представляет собой так называемый массив с зубчатыми краями , то есть массив массивов, элементы которого могут быть разного размера. Неровный массив нужно было бы создать другим способом:
string[][] Tablero = new string[3][]; for (int i = 0; i < Tablero.GetLength(0); i++) { Tablero[i] = new string[3]; }
Вы также можете использовать инициализаторы для заполнения элементов массива данными:
string[,] Tablero = new string[,] { {"1.1","1.2", "1.3"}, {"2.1","2.2", "2.3"}, {"3.1", "3.2", "3.3"} };
И в случае неровного массива:
string[][] Tablero = new string[][] { new string[] {"1.1","1.2", "1.3"}, new string[] {"2.1","2.2", "2.3"}, new string[] {"3.1", "3.2", "3.3"} };
источник
Вы только что объявили массив с зазубринами. Такие массивы могут иметь разные размеры для всех измерений. Например:
string[][] jaggedStrings = { new string[] {"x","y","z"}, new string[] {"x","y"}, new string[] {"x"} };
В вашем случае вам нужен обычный массив. См. Ответы выше. Подробнее о зубчатых массивах
источник
Я предполагаю, что вы ищете это:
string[,] Tablero = new string[3,3];
Синтаксис зубчатого массива:
string[][] Tablero = new string[3][]; for (int ix = 0; ix < 3; ++ix) { Tablero[ix] = new string[3]; }
источник
В C # есть 2 типа многомерных массивов, называемых
Multidimensional
иJagged
.Для многомерного вы можете:
Для неровного массива вам нужно написать немного больше кода:
string[][] jagged = new string[3][]; for (int i = 0; i < jagged.Length; i++) { jagged[i] = new string[3]; }
Короче говоря, зубчатый массив работает быстрее и имеет интуитивно понятный синтаксис. Для получения дополнительной информации см .: этот вопрос о Stackoverflow
источник
string[][] jagged = { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
илиvar jagged = new[] { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
попробуй это :
string[,] myArray = new string[3,3];
посмотрите http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx
источник
string[,] Tablero = new string[3,3];
источник
string[][]
это не двумерный массив, это массив массивов (а зазубренный массив ). Это что-то другое.Чтобы объявить двумерный массив, используйте этот синтаксис:
string[,] tablero = new string[3, 3];
Если вам действительно нужен массив с зазубринами , вам нужно инициализировать его следующим образом:
string[][] tablero = new string[][] { new string[3], new string[3], new string[3] };
источник
Массив 3x3 (многомерный) также можно инициализировать (вы его уже объявили) следующим образом:
string[,] Tablero = { { "a", "b", "c" }, { "d", "e", "f" }, { "g", "h", "i"} };
источник
Когда вы пытаетесь создать многомерный массив, все, что вам нужно сделать, это добавить запятую в объявление, например:
string[,] tablero = new string[3,3].
источник
вы также можете написать код ниже.
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
где 'i' - количество строк, а 'j' - количество столбцов. используя метод 'typeof (..)', вы можете выбрать тип вашего массива, т.е. int, string, double
источник
Есть много примеров по работе с массивами в C # здесь .
Надеюсь, это поможет.
Спасибо, Дамиан
источник