Berlin, 05.09.2010
Zoom : Impressum

Kulisch Software-Entwicklung

Kurz und knapp : Leistungen : Projekte : Kunden : Kontakt : Grüße

C#-Programmierung Alphabet Counter

Diese Klasse lässt sich nach dem Kompilieren von der Kommandozeile aus starten.

Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Alphabetcounter
{
    class Program
    {
        public Program()
        {
        }

        static void Main(string[] args)
        {
            try
            {
                Program prog = new Program();
                prog.Process();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

        private void Process()
        {
            string location = System.Reflection.Assembly.GetExecutingAssembly().Location;
            string appName = Path.GetFileName(location);
            appName = appName.Substring(0, appName.LastIndexOf('.'));
            Console.WriteLine(string.Format("# Wellcome to {0}", appName));
            Console.WriteLine("# ");
            Console.WriteLine("# Enter press will shift the counter.");
            Console.WriteLine("# Other key press will close the program.");
            Console.WriteLine("# Insert a start value like 'AAA' now!");
            Console.WriteLine("");

            string group = Console.ReadLine();

            while (Console.ReadKey(true).KeyChar == 13)
            {
                Console.CursorTop = Console.CursorTop - 1;

                group = NextGroup(group);

                Console.WriteLine(string.Format("# Counted  hits: {0}", group));
            }
        }

        private string NextGroup(string group)
        {
            bool overflow = true;
            List list = new List();
            foreach (char letter in group.ToCharArray().Reverse())
            {
                char token = letter;
                if (overflow)
                {
                    token++;
                }
                if (token > 'J')
                {
                    list.Insert(0, 'A');
                    overflow = true;
                }
                else
                {
                    list.Insert(0, token);
                    overflow = false;
                }
            }

            return new String(list.ToArray());
        }
    }
}

C# für Einsteiger

C# für Fortgeschrittene