ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
466
466
EMPFEHLEN
-
01.08.07 10:56 #1
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
hier mal ein Beispiel wie man eindeutige ObjectID's zur Laufzeit erzeugen lassen kann.
(Ich vermute mal, dass Visual Studio intern den selben Mechanismus benutzt : http://www.tutorials.de/forum/net-ca...markieren.html )
Code csharp:1 2 3 4 5 6 7 8 9
bool wasNew = false; System.Runtime.Serialization.ObjectIDGenerator objectIdGenerator = new System.Runtime.Serialization.ObjectIDGenerator(); Console.WriteLine(objectIdGenerator.GetId("hallo", out wasNew)); Console.WriteLine(wasNew); Console.WriteLine(objectIdGenerator.GetId("hallo", out wasNew)); Console.WriteLine(wasNew); Console.WriteLine(objectIdGenerator.GetId(new Object(), out wasNew)); Console.WriteLine(wasNew);
Ausgabe:
Code :1 2 3 4 5 6
1 True 1 False 2 True
Eine weitere Möglichkeit eine eindeutige Repräsentation einer Instanz zu bekommen ist die GethashCode()-Methode von Object. Wie man die GethashCode() Methode von Object auch bei überschriebenen GetHashCode Methoden aufrufen kann findet man hier:
http://www.tutorials.de/forum/net-ca...-objekten.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Vorsicht:
Zudem ist es auch insofern gefährlich, als dass man bei der Verwendung eines 3rd Party Frameworks nicht weiß, ob GetHashCode überschrieben wurde, oder ob die Standardimplementierung verwendet wird.The default implementation of the GetHashCode method does not guarantee unique return values for different objects.
-
01.08.07 19:32 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
interessant...
http://msdn2.microsoft.com/en-us/lib...thashcode.aspxThe default implementation of the GetHashCode method does not guarantee unique return values for different objects. Furthermore, the .NET Framework does not guarantee the default implementation of the GetHashCode method, and the value it returns will be the same between different versions of the .NET Framework. Consequently, the default implementation of this method must not be used as a unique object identifier for hashing purposes.
Das heißt also System.Object.GetHashCode() kann für unterschiedliche Instanzen den selben HashCode liefern. In Java liefert java.lang.Object.hashCode() für jede Objektinstanz einen eindeutigen Wert.
http://java.sun.com/javase/6/docs/ap...html#hashCode()
Kleiner aber feiner Unterschied, danke für den HinweisAs much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
Ähnliche Themen
-
XSD Eindeutige ID
Von zer0 im Forum XML TechnologienAntworten: 1Letzter Beitrag: 15.01.10, 10:11 -
eindeutige ID
Von mgraf im Forum PHPAntworten: 7Letzter Beitrag: 08.06.09, 16:34 -
eindeutige ID
Von polar im Forum PHPAntworten: 4Letzter Beitrag: 01.04.06, 16:00 -
eindeutige Nummer generieren
Von andyK im Forum PHPAntworten: 3Letzter Beitrag: 27.04.04, 10:35 -
Eindeutige Bildernamen
Von davedigital im Forum ASPAntworten: 2Letzter Beitrag: 27.08.03, 16:29






Zitieren
Login





