Autor Beitrag
FinalFantasy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 127

Windows XP
Delphi 5 Professional, Visual Studio 7 .NET (C#)
BeitragVerfasst: Mo 10.10.05 15:06 
Hi,

Ich will in C# in einem TreeView Nodes hinzufügen. Es gibt zwei Ebenen, die Nodes werden dabei in zwei geschachtelten Schleife ermittelt. Es kann jetzt vorkommen, dass zu einem Rootnode mehrere Childnodes (alle auf Ebene 2) hinzukommen. Dazu müsste ich jetzt prüfen, ob der Rootnode bereits existiert.
Aber wie kann ich überprüfen, ob die Variable für den Parentnode bereits instanziiert ist?
Bzw. wie kann ich den Rootnode wieder "deinstanziieren"?

In C++ würde des in etwa so aussehen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
if(pnode == NULL) {
  pnode = new TreeNode("blabla");
  TreeView.Nodes.Add(pnode)
}
cnode = new TreeNode("childnode");
pnode.Nodes.Add(cnode);

....

pnode = NULL;


Da würde ich es einfach mit Pointer machen, aber die gibt es ja in C# in diesem Sinne nicht mehr, oder?

PS: Die Delphi-Tags passen für C#-Code irgendwie nicht richtig.... :-/

Moderiert von user profile iconraziel: Delphi- durch Cs-Tags ersetzt.
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Mo 10.10.05 17:34 
Zitat:
Da würde ich es einfach mit Pointer machen, aber die gibt es ja in C# in diesem Sinne nicht mehr, oder?

Objektreferenzen _sind_ typisierte Pointer. ;)
Du kannst also den RootNode gegen null prüfen.
Groß geschriebene keywords gibt es in C# glücklicherweise nicht mehr. Was wohl deine Probleme beim Vergleich gegen NULL erklärt. :mrgreen:

Zitat:
PS: Die Delphi-Tags passen für C#-Code irgendwie nicht richtig.... :-/

Wäre auch komisch wenn sie passen würden, right? :tongue:
Die cs-Tags stehen _nicht_ für counter-strike...
ausblenden C#-Quelltext
1:
2:
3:
if (parentNode == null)
{
  parentNode = new TreeNode(...
FinalFantasy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 127

Windows XP
Delphi 5 Professional, Visual Studio 7 .NET (C#)
BeitragVerfasst: Di 11.10.05 08:47 
Ahh, danke, so gings... Ich mache erst seit gestern C# und solche Unterschiede muss man erstmal bemerken :-)

Die Tags sind [ C S ] ohne Leerzeichen? Bei mir geht die Menüleiste zum Editfield nicht.