コード例 #1
0
 protected override int Compare(Kennzeichen a, Kennzeichen b)
 {
     return(a.Buchstabe.Data.CompareTo(b.Buchstabe.Data)); // using the CompareTo Method from String
 }
コード例 #2
0
 protected override int Compare(Kennzeichen a, Kennzeichen b)
 {
     return(a.Zahl.Data.CompareTo(b.Zahl.Data)); // using the CompareTo Method from Interger
 }
コード例 #3
0
 protected abstract int Compare(Kennzeichen a, Kennzeichen b);
コード例 #4
0
        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);
            }
        }