afrio ordino

afrio ordino

  • NA
  • 7
  • 15k

NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet

Feb 13 2011 10:54 AM
 Bonjour,
Je développe une application en c# et j'ai depuis quelques temps le message d'erreur suivant: [NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
J'ai une classe Element et classe Problem

T comprends 5 objet de type Element
chaque objet a deux propriétés width et height voici les 5 objets
obj1:width= 3 et height= 7
obj2:width= 8 et height= 1
obj3:width= 10 et height= 2
obj4:width= 5 et height= 4
obj5:width= 2 et height= 1
Mon objectif est de trier le tableau T dans l'ordre décroissants en se basant sur width des elements et dans le cas ou on a la meme valeur de width alors le tri sera en se basant sur height


public void sort ( )
{
Problem[] tab = new Problem[100];
tab = files();

Element[] T = new Element[100];
T = tab[0].getElements();

for (int j=1; j<T.Length-1; j++)
{
int x = T[j].getWidth();
int y = T[j].getHeight();
int i = j-1;

while (i >= 0 && ((T[i].getWidth() < x) || ((T[i].getWidth() == x) && (T[i].getHeight() < y))))
{ {
T[i] = T[i+1];


Console.WriteLine("dddd" + T[i].getWidth()+ T[i].getHeight());


i = i-1;
}

T[i + 1].setWidth(x);
T[i + 1].setHeight(y);
Console.WriteLine(" zzz" + T[i + 1].getWidth() + T[i + 1].getHeight());
Console.ReadLine();
}

voici l'affichage
dddd 8 1
zzz 8 1
dddd 10 2
dddd 10 2
zzz 10 2
zzz 5 4
zzz 2 1

Puis l'affichage de l'erreur [NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]  pour l'instruction :        int x = T[j].getWidth();


Answers (6)