[C++>C#] Liste chainée ou comment utiliser des pointeurs ?
Bonjour, je suis désolé de vous poser uen question pour laquelle vous allez me jeter des pierres mais j'ai pas trop le choix!!! :(
En fait voilà. J'ai ecrit un code de liste chainée en C++ qui est censé lire un fichier XML et le mettre en mémoire dans des Nodes (une node est une classe).
La classe Node comporte, entre autre, des pointeurs:
- CNode* pFirstChild; //Pointeur sur le premier fils du noeud courant
- CNode* pFirstBrother; //Pointeur sur le premier frere du noeud courant
... etc...
Du coup, au passage en C#, ben il gueule (surement avec raison) et me demande de passer en "unsafe"...
Mais meme comme ca il veut pas parce que les pointeurs en C# ne sont possible qu'avec certains types de base (int, char, ...).
Du coup, ok, tres bien, je me soumet... Mais comment que je fait moi?!!
Quelqu'un a une tite idée?
Et oui je sais qu'il existe des classes toutes pretes pour parser un document XML et d'ailleurs, je l'utilise sans soucis mais bon, pour une raison complexe et indépendente de mon bien etre mental, je ne peux pas l'utiliser dans ce cas precis...
Au secours!!!!!!!!!
Re: [C++>C#] Liste chainée ou comment utiliser des pointe
Citation:
Envoyé par LAPLACE
Quelqu'un a une tite idée?
Salut,
Franchement le premier truc a faire c'est de te débarrasser des pointeurs.
ils ne représentent plus vraiment d'intérets en C# ou VB.NET.
Tu peux trés simplement convertir ton code en remplacant tes pointeurs de classe :
Code:
1 2 3 4 5 6 7 8 9 10
| class CNode
{
public CNode pFirstChild;
public int Valeur;
public void AddChild(CNode N)
{
pFirstChild = N;
}
} |
Exemple d'utilisation :
Code:
1 2 3 4 5 6
|
CNode N1=new CNode();
N1.Valeur=12;
CNode N2 =new CNode();
N2.Valeur = 22;
N1.AddChild(N2); |
A+