Der Code für die Implementierung dieser Regeln in C# sieht folgendermaßen aus:
Ein interessanter Nebeneffekt dieses Regelsatzes ist, dass der ausgegebene Wert davon abhängt, welches Wort man zuerst eingibt.
Zur Veranschaulichung dienen die beiden Wörter „Brad“ und „Zach“. Eine Eingabe in die Difference-Funktion mit der Reihenfolge „Difference(„Brad“, „Zach“)“ ergibt den Wert 1. Werden sie jedoch in der Reihenfolge „Difference(„Zach“, „Brad“)“ eingegeben, erhält man den Wert 2.
Das liegt daran, dass die zweite Codierung auf Zeichen aus der ersten Codierung überprüft wird und eben nicht die erste Codierung auf Zeichen aus der zweiten. Da die SQL Difference-Funktion jedoch genau die gleichen Ergebnisse liefert, lässt sich der oben erstellte Regelsatz unverändert beibehalten.
Performance und Sprachanpassung
Bei den hier gezeigten Soundex– und Difference-Funktionen handelt es sich offensichtlich nicht gerade um Leichtgewichte. Doch immerhin benötigt die obige C#-Implementierung von Soundex nur eine halbe Sekunde, um etwa 100.000 durchschnittlich lange Namen zu kodieren. Mit SQL dauert dasselbe knapp über eine Sekunde.
Wer hauptsächlich deutsche Begriffe nach ihrem Klang auswerten und vergleichen will, sollte eine Soundex-Weiterentwicklung implementieren: das Kölner Verfahren. Es ist beispielsweise auch in SAP verfügbar.
Neueste Kommentare
Noch keine Kommentare zu So lassen sich auch in C# Wörter mit Soundex kodieren
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.