Это скорее всего проблема, но следующий код умирает. Я создаю многомерный массив из 2 классов, Cell и Map. Карта представляет собой сетку ячеек X по Y. Довольно нормально до сих пор (я продолжаю переписывать эту же программу, когда я изучаю новый язык). Для краткости я просто опубликую классы и базовый тест, отражающий ошибку. Когда я иду, чтобы распечатать карту весь массив сетки я initalized во время construtor исчезает, когда я иду на печать (Null исключение, так как сетка заканчивается пустой, как некоторые ...)Изучение проблем с C# с массивом (данные массива исчезают)
//misc using up here
namespace Mapper {
class Program {
static void Main(string[] args)
{ //TODO Parser
int max_x=2;
int max_y=2;
Map myMap = new Map(max_x,max_y);
myMap.print();
}
class Cell
{
public char type='o';
public Cell(char inittype){
this.type=inittype;
}
public void printCell(){
Console.Write(this.type); }
public void set(char value){
this.type = value; }
}
class Map
{
private int max_X; //global
private int max_Y; //global
public Cell[,] grid; //global
public Map(int maxX, int maxY) {
Cell[,] grid = new Cell[maxX, MaxY];
this.max_X = maxX; //Store constructor provided dimensions for global use
this.max_Y = maxY;
for(int yv=0; yv < max_Y; yv++){
for(int xv=0, xv < max_X;xv++){
grid[xv,yx] = new Cell('x');
}
}
public void print() {
for(int yv=0; yv < max_Y; yv++){
for(int xv=0, xv < max_X;xv++){
grid[xv,yx].printCell();
}
}
}}
Запуск трассировки все выглядит хорошо, пока линия myMap карты завершается ... другими словами, похоже, что конструктор не «приклеивается», и я получаю пустую сетку в конце (все они идут null.) Я могу только предположить, что это проблема с областью. .. что мне не хватает ....? Я купил конструктора?
Глобальная ссылка была «глобальная видимость внутри самого класса», а не вся программа. – Idgarad