Re: Objekt Identität



Hallo Stephan!

"Stephan Keil" <Stephan.Keil@xxxxxx> schrieb:
ich bin relativ neu in der .NET-Welt und ich frage micht, ob es in .NET so etwas wie einen "Identitätswert" pro Objekt gibt. I meine so was wie die Adresse eines Objekts in C++, also ein fixer eindeutiger Wert pro Objekt, der z.B. genutzt werden kann, um Objekte in einem Assoziativ-Container zu verwalten (der Hash-Wert scheidet aus, da er nicht fix während der Lebenszeit eines Objektes ist).
Der Garbage Collector verschiebt Objekte im Speicher, der GC-Zeiger kann dafür also nicht benutzt werden (zumindest solanger er nicht "ge-pinned" ist). Gibt es sowas wie einen fixen Identitätswert in .NET?

Ja, jede Instanz eines Verweistyps hat eine Identität. In VB.NET können mittels der Operatoren 'Is' und 'IsNot', in C# mittels '==' und '!=' zwei Verweise dahingehend verglichen werden, ob sie auf das selbe Objekt zeigen. Im einfachsten Fall kannst du also das Objekt selbst als Schlüssel benutzen.


\\\
Dim x As New Object()
Dim y As New Object()
MsgBox(x Is y)    ' Falsch.
Dim z As Object = x
MsgBox(x Is z)    ' Wahr.
///

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>


.



Relevant Pages

  • Re: ExcelDiagramm in Word (VBA)
    ... Extras/Verweise) auf die Microsoft Word Object Library und dimensioniert Dim ... Sub wordgrafik() ... End Sub ...
    (microsoft.public.de.excel)
  • Re: Seitenwechsel in Word
    ... kann ich dir den Code auch noch erstellen. ... Und das funktioniert auch mit Range. ... Dim wdApp As Object ' Word.Application ...
    (microsoft.public.de.vb)
  • Re: ExcelDiagramm in Word (VBA)
    ... >deine Variante bezeichnet man als early binding (Dim as ... Object, kein Verweis ... >Sub wordgrafik() ... >End Sub ...
    (microsoft.public.de.excel)
  • =?ISO-8859-1?Q?Re=3A_Aufgaben_f=FCr_Outlook_erstellen?=
    ... Folgender Code sollte bei dir einen Termin anzeigen: ... Dim OlApp As Object ... End Time: Start Time +30min ...
    (microsoft.public.de.excel)
  • Re: ExcelDiagramm in Word (VBA)
    ... Private Sub WordDokumentErstellen() ... Dim objWord As Object ... Dim strPicName As String ... End If ...
    (microsoft.public.de.excel)

Loading