Я возился с этим целую вечность, и я не становлюсь ближе.Моя текущая версия, как показано ниже.Комментарии - это то, что я думаю я делаю.Семантика - это в основном порядковый номер (например, номер дома) и список атрибутов в массиве.Затем создайте массив 'улица'.Я хочу иметь возможность обновлять значения всех элементов в текущей области.Класс определен настолько высоко, насколько возможно, чтобы сделать область видимости глобальной.Мой окостеневший мозг «С» не совсем понимает такие вещи, как списки и IEnumerable, поэтому я не пытался идти по этому пути.Парсер кода в редакторе немного запутал это - извините.
public class house
{
// Ok, looking at this from the world of 'C' and thinking 'struct' like,
// I put my variables here.
public int my_id;
public long [] pl_id;
public house()
{
// I try to initialise the starting values, so I can carry out some tests later.
my_id = 0;
pl_id = new long[10] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
}
}
// I attempt to inform the compiler that I will be wanting an array of the house objects
// and call that array 'new_house'. Again, the code editor isn't keen.
house [] new_house;
private void button1_Click(object sender, EventArgs e)
{
// In the programs main routine (not *main*!), I then try to get the
// array 'new_house' populated with initialised 'house' objects
for (int idx = 0; idx < 10; idx++)
{
new_house[idx] = new house();
}
// And at some point in the future I wish to set or update the values arbitrarily. eg:
new_house[7].my_id = 123;
new_house[7].pl_id = 345678;
// any combination of attributes and id numbers is possible, so I use zero simply to see if they have been set, with -1 indicating failure / an absence of data-
}
}
Верно.Как я уже сказал, я пробовал много разных способов сделать это, и главная проблема, которую я получаю, заключается в том, что я, кажется, никогда правильно не инициализирую массив 'new_house' и не получаю нулевые исключения, когда пытаюсь что-то назначить.Я не могу поверить, что то, что кажется настолько интуитивно простым, может быть настолько сложным для кодирования, поэтому, где я понял это неправильно (и я полностью согласен, что в приведенном выше тексте может быть более одной концептуальной ошибки или ошибки кодирования).
Комментарии о целесообразности подхода и помощи в кодировании, с благодарностью приняты.