protected override int Compare(Kennzeichen a, Kennzeichen b) { return(a.Buchstabe.Data.CompareTo(b.Buchstabe.Data)); // using the CompareTo Method from String }
protected override int Compare(Kennzeichen a, Kennzeichen b) { return(a.Zahl.Data.CompareTo(b.Zahl.Data)); // using the CompareTo Method from Interger }
protected abstract int Compare(Kennzeichen a, Kennzeichen b);
public static void Main(string[] args) { KennzeichenOrt[] dbOrte = { new KennzeichenOrt("S"), new KennzeichenOrt("N"), new KennzeichenOrt("HAC") }; KennzeichenBuchstabe[] dbBuchstaben = { new KennzeichenBuchstabe("IN"), new KennzeichenBuchstabe("IT"), new KennzeichenBuchstabe("K") }; KennzeichenZahl[] dbZahlen = { new KennzeichenZahl(1337), new KennzeichenZahl(2019), new KennzeichenZahl(512) }; Kennzeichen[] alleKennzeichen = new Kennzeichen[3]; for (int i = 0; i < alleKennzeichen.Length; i++) { alleKennzeichen[i] = new Kennzeichen(dbOrte[i], dbBuchstaben[i], dbZahlen[i]); } Array.Sort(alleKennzeichen, (IComparer) new KennzeichenOrt("A")); for (int i = 0; i < alleKennzeichen.Length; i++) { Console.WriteLine(alleKennzeichen[i]); } Console.WriteLine(); Array.Sort(alleKennzeichen, (IComparer) new KennzeichenBuchstabe("A")); for (int i = 0; i < alleKennzeichen.Length; i++) { Console.WriteLine(alleKennzeichen[i]); } Console.WriteLine(); Array.Sort(alleKennzeichen, (IComparer) new KennzeichenZahl(1)); for (int i = 0; i < alleKennzeichen.Length; i++) { Console.WriteLine(alleKennzeichen[i]); } //several try/catch blocks with false input so a exception is thrown try { KennzeichenZahl invalid = new KennzeichenZahl(12345); } catch (InvalidKennzeichenException e) { Console.WriteLine(e.KennzeichenNachricht); } try { KennzeichenBuchstabe invalid = new KennzeichenBuchstabe("ABC"); } catch (InvalidKennzeichenException e) { Console.WriteLine(e.KennzeichenNachricht); } try { KennzeichenOrt invalid = new KennzeichenOrt("ABCD"); } catch (InvalidKennzeichenException e) { Console.WriteLine(e.KennzeichenNachricht); } try { KennzeichenZahl invalid = new KennzeichenZahl(-1); } catch (InvalidKennzeichenException e) { Console.WriteLine(e.KennzeichenNachricht); } }