Il s'agit probablement d'un problème de portée, mais le code suivant disparaît. Je construis un tableau multi-dimensionnel à partir de 2 classes, Cell et Map. La carte est une grille de cellules X par Y. Assez normal jusqu'à présent (je continue à réécrire ce même programme quand j'apprends une nouvelle langue). Par souci de concision, je vais juste poster les classes et un test de base qui reflète l'erreur. Quand je vais d'imprimer la carte toute matrice de grille I initalized au cours de la construtor disparaît quand je vais à imprimer (exception nulle depuis grille finit vide d'une façon ...)Problèmes d'apprentissage C# avec tableau (données de tableau disparaît)
//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();
}
}
}}
Exécution d'un tout trace semble bien jusqu'à ce que la ligne Map myMap se termine ... en d'autres termes, il semble que le constructeur ne "colle" pas et que je reçois une grille vide à la fin (ils sont tous nuls). Je ne peux que supposer que c'est un problème d'envergure. .. Qu'est-ce que je rate....? Ai-je bork le constructeur?
La référence globale était "visibilité globale au sein de la classe elle-même" plutôt que l'ensemble du programme. – Idgarad