Exemple #1
0
        //Eine Region wird genutzt und Codeblöcke über mehrere Methoden und Teilabschnitte zu bündeln
        //und einklappbar zu machen. Die Region ist kein kompilierbarer Code, eher Deko für den Programmierer

        #endregion

        #region Shortcuts und anderes

        //TODO: Dieser Kommentar erstellt einen Eintrag in die Taskliste
        //Hack auch (Zu finden ist die Taskliste unter Menueintrag View)

        //STRG+. zeigt Vorschläge an
        //Autovervollständigen mit TAB, TAB TAB
        //Auskommentieren und Komentar zurücksetzen ALT + Up/Down, STRG + k,c/k,u
        //(um einzelne Shortcuts nachzuschlagen, bzw zu editieren in Titelleiste nach Keymap suchen)

        #endregion

        #region MainFunktion

        /// <summary>
        /// Diese Funktion startet das Programm
        /// Sie MUSS static sein, da sie ohne Instanzieirung gestartet wird
        /// </summary>
        /// <param name="args">Kommandozeilenparameter</param>
        static void Main(string[] args)
        {
            #region Verzweigungen und Schleifen

            int zahl = 3;

            if (zahl == 0)
            {
                //code wenn bedingung erfüllt
            }
            else
            {
                //code wenn nicht erfüllt
            }

            //Kurzform
            //Inline if-Abfrage - zahl = wenn 3 < 2 true dann 5, sonst 3
            zahl = (3 < 2 ? 5 : 3);

            for (int j = 0; j < 10; j++) //standard for
            {
                for (int i = 0; i < 10; i++)
                {
                    i++;
                }
            }

            for (;; zahl++) //Bereiche sind optional. endlosschleife wäre for (;;) { code }

            {
                if (zahl < 10)
                {
                    break;
                }
            }

            List <int> listOfNumbers = new List <int>();
            //___Unterschied List -Array___:

            /*Array enthält den Speicherplatz des ersten Elements. die darauffolgenden Werte sind in festen darauf folgenden Speicherplätzen
             *  Sie sind fest in der Größe und können nicht nachträglich vergrößert/verklenert werden*/
            /*List einhält jedes Element den Speicherplatz der vorhergehenden Elelemnts, den Wert und den Speicherplatz des nachfolgenden Elements
             *  Eine List kann nachträglich in der Größe verändert werden*/

            foreach (var item in listOfNumbers
                     ) //foreach geht jedes Element in einem Container (z.B. Liste oder Array) durch
            {
            }


zielpunkt:  //Zielposition für ein goto

            zahl--;

            if (zahl > 0)
            {
                goto zielpunkt; //springt auf die Position an der "zielpunkt:" erstellt wurde
            }

            zahl = 3;
            switch (zahl)
            {
            case 1:
                //code wenn in zahl die 1 steht
                break;      //break; verhindert das Ausführen weiterer cases

            case 2:
                //code wenn in zahl die 1 steht
                break;

            default:
                //code der ausgeführt wird, wenn kein case zutraf
                break;
            }

            Programmzustaende meinProgramm = Programmzustaende.Starting;

            switch (zahl)
            {
            case 1:
                meinProgramm = Programmzustaende.Starting;
                break;

            case 2:
                meinProgramm = Programmzustaende.Running;
                break;          //beendet switch block

            case 3:
                meinProgramm = Programmzustaende.Stopping;
                break;          //fehlt break: wird code bis zum nächsten break ausgeführt!

            case 4:
                meinProgramm = Programmzustaende.Stopped;
                break;

            default:
                Console.WriteLine("Unbekannter Zustand");
                break;
            }

            //Kurzform des Switchblocks
            meinProgramm = zahl switch
            {
                1 => Programmzustaende.Running,
                2 => Programmzustaende.Stopped,
                3 => Programmzustaende.Stopping,
                _ => Programmzustaende.Starting      // _  = Default
            };

            #endregion
        }

        #endregion

        #region Methoden

        #endregion
    }
Exemple #2
0
        static void Main(string[] args)
        {
            #region Bedinung
            if (1 > 2) // testen einen ausdruck TRUE oder FALSE
            {
                // wenn 1 grösser ist als 2
            }

            if (1 < 2)
            {
                // wenn 1 kleiner als 2
            }
            else
            {
                // in jedem anderen fall
            }

            if (1 < 2 && 3 > 2) // und verknüpfung
            {
                // wenn beide bedinungen erfüllt sind
            }

            if (3 > 2 || 1 < 3 && 2 == 2)
            {
            }

            int VariableA;

            //          (bedinung       ? true : false)
            VariableA = (3 < 2 || 5 > 3 ? 5 : 3);


            switch (VariableA)
            {
            case 1:
                // code wenn variable dem Fall 1 entspricht
                break;

            case 2:
                // code wenn variable dem Fall 2 entspricht
                break;

            default:
                // wenn kein case getroffen wurde
                break;
            }

            Programmzustaende MeineGameEngine = Programmzustaende.Starting;

            switch (MeineGameEngine)
            {
            case Programmzustaende.Starting:
                break;

            case Programmzustaende.Running:
                break;

            case Programmzustaende.Stopping:
                break;

            case Programmzustaende.Stopped:
                break;

            case Programmzustaende.Paused:
                break;

            default:
                Console.WriteLine("#79587: Unbekannter systemzustand");
                break;
            }

            switch (VariableA)
            {
            case 1:
                MeineGameEngine = Programmzustaende.Paused;
                break;

            case 2:
                MeineGameEngine = Programmzustaende.Starting;
                break;

            default:
                MeineGameEngine = Programmzustaende.Stopped;
                break;
            }

            MeineGameEngine = VariableA switch // kurzform erst ab C# in Version 8
            {
                1 => Programmzustaende.Paused,
                2 => Programmzustaende.Starting,
                _ => Programmzustaende.Stopped
            };


            #endregion

            #region Schleife

            int Anfang = 0;

            while (Anfang < 10)
            {
                Anfang++;
            }

            do
            {
                Anfang--;
            } while (Anfang > 0); // wanna see me do it again?;

            for (int counter = 0; counter < 10; counter++)
            {
            }

            for (;  ; Anfang++) // die bereiche des for sind alle optional for(;;) ist gültig
            {
                if (Anfang > 20)
                {
                    break;
                }
            }

            List <int> ListofNumbers = new List <int>();

            foreach (int item in ListofNumbers)
            {
                Console.WriteLine(item);
            }

            ListofNumbers = null;

            do
            {
                Anfang--;
            } while (Anfang > 0);

            // goto sehr selten verwenden, wenn´s wirklich nicht anderes geht

zielpunkt:  // zielmarkierung für den goto-sprung

            Anfang--;

            if (Anfang > 0)
            {
                goto zielpunkt; // auslösung des sprungs
            }


            #endregion
        }
    }