Pointer understøttelse i c#
Hej,Jeg vil lave et custom link list.. Den skal være så hurtig som overhovedet mulig,
da der skal masser af data i.
Jeg har lavet en simpel struktur:
public unsafe struct Node
{
public MyStruct* next;
public int _data;
public int data
{
get {return _data;}
set { _data= value; }
}
}
Selve klassen:
public unsafe class linkTest
{
public MyStruct* first;
public linkTest()
{
first = null;
}
public void addItem()
{
node tempNode = new Node();
Node* pNode = &tempNode;
pNode->data = 7;
first = pNode;
}
public void displayItem()
{
Node tempNode = new Node();
MyStruct* pNode = &tempNode;
pNode = first;
// Nu skulle jeg så kunne data
// med pNode->data? eller?
}
}
Jeg kunne godt tænke mig en "global" pointer, der pegede f.eks på første element. (senere vil jeg nemlig !så småt! lege med træer (btree :o))
Problemet er bare at hvis jeg gør det på denne her måde, er pointeren åbenbart ikke "pinnet". Hvis jeg kalder metoden: displayItem i addItem, bliver den pinnet. Er det muligt at have en a'la global pointer, der bliver sat ved instatiering?