Заполнение многомерного массива объектов C#
Привет,
Я пишу метод для создания многомерного массива другого типа (поэтому я использую массив объектов).
Я не хочу заполнять строку своего массива каждый раз, когда вызываю метод, но я не знаю, как это сделать.
Я думаю, что это очень просто, но у меня недостаточно знаний в C#.
Не могли бы вы мне помочь, пожалуйста ?
(Я новичок в языке Си#)
Что я уже пробовал:
Поэтому я попробовал что-то, что, как я знаю, не сработает, но "почему бы и нет" :
object[,,,,,] mileArray = new object[20, 20, 20, 20, 20, 20]; public void AddMile(int dist, int alt, string name, Font font, Brush brush, int i) { mileArray[i,,,,,] = mileArray[dist, alt, name, font, brush]; }
phil.o
Непонятно, что вы хотите хранить в своем шестимерном массиве. Какое требование стоит за этим, потому что у меня есть ощущение, что вы не используете правильный инструмент здесь.
Mineodo68
Привет,
В этом массиве шести измерений (или 5, если я не использую i) я хочу сохранить все характеристики формы и текста, которые я нарисую позже.
Таким образом, это означает позицию x (здесь dist), позицию y (здесь alt), имя, тип шрифта, цвет (кисть).
Я добавил "Я", чтобы попытаться заполнить им строку, но это, возможно, не нужно.
Я хочу использовать массив, потому что я буду "разбирать" этот массив другим методом.
Я надеюсь, что это ясно, я не англичанин, поэтому у меня нет всех грамматических выражений
Richard MacCutchan
Это действительно не правильный способ делать вещи. Вы должны создать класс, содержащий различные свойства, и использовать его для хранения всей информации.
Mineodo68
Но как я могу это сделать, если хочу иметь ясный взгляд на свои ценности ?
Потому что здесь я попытался заполнить этот массив значениями и карактеристиками, а после этого написать метод, который будет рисовать что-то с каждой строкой моего массива
phil.o
Вы создаете класс, содержащий все необходимые значения. Затем вы создаете одномерный массив этого класса.
public class Whatever { // Properties } Whatever[] theArray = new Whatever[ARRAYSIZE]; // or (easier) var list = new List<Whatever>();
Mineodo68
Но если я не хочу хранить разные типы значений (brush, font, int, string), как я могу поместить их в массив ? С объектом[] ?
phil.o
Вы ставите эти значения как свойства класса вы сами определяете.
Я думаю, что вы путаете многомерный массив с кортежем.
Mineodo68
Ладно, я проверю это позже.
Может быть, я вернусь, чтобы задать еще один вопрос.
Спасибо за помощь ;)
Richard MacCutchan
Да, и именно поэтому вы должны использовать класс.
Mineodo68
Я проверю это, спасибо ;)
CHill60
Почему бы не создать класс, который имеет свойства, представляющие все вещи, которые вы хотите сохранить о форме - он может наследовать от класса формы, который уже будет включать в себя большую часть того, что вам нужно. Тогда вам не понадобится массив - просто простой список этих объектов
Mineodo68
Да, может быть, я попробую это сделать.
Спасибо