Feststellen ob ein Objekt erstellt wurde

Divi

Erfahrenes Mitglied
Hi Leute
Ich hab irgendwo einen Fehler gemacht, so dass eine Funktion zweimal aufgerufen wird und das darin erstellte Objekt auch zweimal erstellt wird. Deswegen hier die Frage: Ist es möglich, dass ich Abfrage, ob ein Objekt vorhanden ist oder nicht (wie in PHP isset()) ...
Ich hab auch schon versucht es auf "null" zu setzen und dann statt des Erstellens abzufragen, ob der Wert noch null ist, aber dann weigert sich der Compiler anständig zu arbeiten, weil er an der entsprechenden Stelle das Objekt nicht mehr erstellen will, wenn es bereits den Wert "null" hat.
 
Ich glaube ich verstehe deine Frage nicht ganz.

object myObject;

//Code...

C#:
//abfragen, ob myObject auf ein objekt zeigt
if (myObject != null)
{
  Console.WriteLine("Objekt wurde schon einmal erstellt, ich brauche es nicht nomals erstellen.");
}
else
{
  //objekt erstellen
  myObject = new MyClass(); //oder irgendeine klasse halt...
}
//das wars... so hast du sicher kein zweites mal ein objekt erstellt

cya, yan
 
Also kann man standartmäßig alles mit null vergleichen und damit erfahren, ob es vorhanden ist? Wenn das so geht, ist die Frage geklärt ... nur ging ich davon aus, dass das unsauber ist. ..
 
ja, wenn du in C# eine Varable vom Typ Objekt (oder deiner eigenen Klasse) anlegst, dann ist das nichts anderes als ein zeiger, der auf NULL zeigst.

Erst wenn du den new Operator Verwendest, wird auch wirklich der Speicherplatz anglegt, und die Varable zeigt dann nicht mehr auf NULL, sondern auf den Speicherplatz, wo dein Object liegt.
 
achja, was noch wichtig ist:

Bei einem Integer oder char und bool etc. kann man nicht abfragen ob diese Null sind, da diese keine Zeiger auf Speicherplätze sind, sondern bei diesen Standarddatentypen wird bei der Varablen Deklaration der Speicher angelegt (Bei einem String kann man schon auf NULL abfragen).
 

Neue Beiträge

Zurück