Steffen-Lange.com


English  Deutsch 

[0492204]

Ranking-Hits
RankingScout


QR Code

Software Software > Codeschnipsel

↑↓ Hinweis

Diese C#-Codeschnipsel dienen als Lösungsvorlage für immer wiederkehrende Programmierprobleme. ;-)


↑↓ Kommandozeilenoptionen auswerten

getopt()

Die Klasse CGetopt portiert die GNU C-Funktion → getopt() in die Windows-Welt. Es werden jedoch nur Parameter einfacher Struktur wie z.B. "-x" erkannt. Folgt dem Optionszeichen ein Doppelpunkt ":", so erwartet der Parameter ein Argument.

Implementierung


↑↓ GetHashCode-Kochrezept

GetHashCode()

Die Methode GetHashCode() ermöglicht die eindeutige Identifizierung eines Objekts in einer Aufzählung von Objekten. Dazu muss sie folgende Eigenschaften aufweisen:

Algorithmus

Die eigentliche Haschode-Berechnung sollte in eine Hilfsklasse ausgelagert werden. Joshua Bloch umreißt hierzu in [1] dieses stabile Verfahren:

  1. Für jeden Daten-Member des Objekts eine mathematische Operation ausführen, die einen Integer-Wert berechnet. Alle Werte nacheinander multiplizieren und addieren, wobei die Operation Typ-spezifisch wie folgt definiert ist:
    1. bool: wenn true 0, sonst 1
    2. byte, char, short oder int: Wert des Typs
    3. long: (int)(f ^ (f >> 32))
    4. float: Convert.ToInt32()
    5. object: Object.GetHashCode()
    6. Array: alle Elemente einzeln behandeln

[1] → Effective Java Programming Language Guide, Prentice Hall, 2001

Implementierung