コード例 #1
0
        static void Main(string[] args)
        {
            Wochentage tag1 = Wochentage.Montag;

            for (int i = 0; i < 4; i++)
            {
                switch (tag1)
                {
                case Wochentage.Montag:
                    Console.WriteLine("Montag");
                    break;

                case Wochentage.Dienstag:
                    Console.WriteLine("Dienstag");
                    break;

                case Wochentage.Mittwoch:
                    Console.WriteLine("Mittwoch");
                    break;
                }
                tag1++;
            }


            Console.ReadKey();
        }
コード例 #2
0
        private static void EnumMitMehrerenWertenGleichzeitig()
        {
            //Der Termin findet nur Montags und Dienstags statt
            Wochentage ereignis = Wochentage.Montag | Wochentage.Mittwoch; //Montag und Mittwoch (bitweise-Veroderung)

            if (ereignis == Wochentage.Montag)                             //ist der Termin nur am Montag??
            {
                Console.WriteLine("Bedingung 1 ist wahr!");
            }

            if (ereignis == (Wochentage.Montag | Wochentage.Mittwoch)) //ist der Termin nur am Montag und Mittwoch? (bitweise veroderung)
            {
                Console.WriteLine("Bedingung 2 ist wahr!");
            }

            if ((ereignis & Wochentage.Montag) != 0) //ist der Termin auch am Montag? (bitweise Verundung)
            {
                Console.WriteLine("Bedingung 3 ist wahr!");
            }

            if ((ereignis & Wochentage.Montag) != 0 && (ereignis & Wochentage.Mittwoch) != 0) //ist der Termin Montags und Mittwochs? (und evtl. auch an anderen Tagen?)
            {
                Console.WriteLine("Bedingung 4 ist wahr!");
            }

            if ((ereignis & Wochentage.Dienstag) != 0) //findet der Termin auch Dienstags statt?
            {
                Console.WriteLine("Bedingung 5 ist wahr!");
            }

            if ((ereignis & Wochentage.Montag) != 0 || ereignis == (Wochentage.Dienstag | Wochentage.Mittwoch)) //Findet der Termin auch Montags oder nur Dienstags und Mittwochs statt?
            {
                Console.WriteLine("Bedingung 6 ist wahr!");
            }
        }
コード例 #3
0
 public TeamFoodDay(Wochentage tag)
 {
     if (!Enum.IsDefined(typeof(Wochentage), tag))
     {
         throw new Exception("Falscher Wochentag angegeben.");
     }
     Wochentag = tag;
     menuItems = new List <TeamFoodMenuItem>();
 }
コード例 #4
0
        static void Main(string[] args)
        {
            Wochentage tag = Wochentage.Montag;

            switch (tag)
            {
            case Wochentage.Montag:
                Console.WriteLine(1);
                break;

            case Wochentage.Dienstag:
                Console.WriteLine("Dienstag");
                break;
            }
            Console.ReadKey();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: amoritzi/Musterloesungen2
        static void Main(string[] args)
        {
            foreach (int en1 in Enum.GetValues(typeof(Wochentage)))
            {
                Console.WriteLine("Wochentage: {0}\n {1}", en1, Enum.GetName(typeof(Wochentage), en1));
            }
            Console.WriteLine("Bitte einen Wochentag eingeben: ");
            string     input       = Console.ReadLine();
            int        inputnumber = Int32.Parse(input);                                // Fehlermeldung Formatfehler??
            Wochentage tag         = (Wochentage)Enum.Parse(typeof(Wochentage), input);

            Console.WriteLine("Der Wochentag hat folgende Nummer: {0}", inputnumber);

            switch (tag)
            {
            case Wochentage.Montag:
                Console.WriteLine("Wochentag = Monday");
                break;

            case Wochentage.Dienstag:
                Console.WriteLine("Wochentag = Tuesday");
                break;

            case Wochentage.Mittwoch:
                Console.WriteLine("Wochentag = Wedensday");
                break;

            case Wochentage.Donnerstag:
                Console.WriteLine("Wochentag = Tuesday");
                break;

            case Wochentage.Freitag:
                Console.WriteLine("Wochentag = Friday");
                break;

            case Wochentage.Samstag:
                Console.WriteLine("Wochentag = Saturday");
                break;

            case Wochentage.Sonntag:
                Console.WriteLine("Wochentag = Sunday");
                break;
            }
        }
コード例 #6
0
        public void AddMenuItem(Wochentage day, TeamFoodMenuItem menuItem)
        {
            if (menuItem == null)
            {
                throw new Exception("Falsche Daten für MenuItem");
            }
            if (!Enum.IsDefined(typeof(Wochentage), day))
            {
                throw new Exception("Ungültiger Wochentag angegeben.");
            }

            TeamFoodDay teamFoodDay;

            teamFoodDay = days.Find(x => x.Wochentag == day);
            if (teamFoodDay == null)
            {
                teamFoodDay = new TeamFoodDay(day);
                days.Add(teamFoodDay);
            }

            teamFoodDay.AddMenuItem(menuItem);
        }
コード例 #7
0
        static void Main(string[] args)
        {
            #region M2

            // ===========================================================
            Console.WriteLine("\n ### Declaration of enums ###");
            //siehe Code über der Main-Methode


            // ===========================================================
            Console.WriteLine("\n ### calling of enums ###");
            Pizzagröße PiGr = Pizzagröße.Mittel;
            Console.WriteLine("Ich habe mir eine Pizza von der Größe {0} bestellt", PiGr);

            //Enum gecastet
            Pizzagröße PiGr2 = (Pizzagröße)(2);
            Console.WriteLine("Und ich möchte eine Pizza von der Größe {0} bestellt", PiGr2);


            #endregion


            #region M3
            //Switch
            Console.Write("Geben Sie eine Wochentag ein: ");
            Wochentage wTag = (Wochentage)(int.Parse(Console.ReadLine()));
            Console.WriteLine($"Der gewählte Tag ist {wTag}, im Angebot {PiGr}");


            switch (wTag)
            {
            case Wochentage.Mo:
                Console.WriteLine($"Das Angebot des Tages {wTag}, im Angebot {PiGr}");
                break;

            case Wochentage.Di:
            case Wochentage.Mi:
                Console.WriteLine($"Das Angebot des Tages {wTag}, im Angebot {PiGr2}");
                break;

            case Wochentage.Do:
                Pizzagröße PiGr3 = (Pizzagröße)(3);
                Console.WriteLine($"Das Angebot des Tages {wTag}, im Angebot {PiGr3}");
                break;

            case Wochentage.Fr:
                Console.WriteLine($"Das Angebot des Tages {wTag}, im Angebot {Pizzagröße.Family}");
                break;

            //case mit Pattern-Matching
            case var tmpWotag when(tmpWotag > Wochentage.Fr):
                Console.WriteLine($"Das Angebot des Tages {wTag}, im Angebot {Pizzagröße.Family}");

                break;

            default:
                Console.WriteLine("Die Preise entsprechen den Pizzagrößen.");
                break;
            }

            // ===========================================================
            Console.WriteLine("\n ### Enum ###");

            #endregion

            // #############################################################################
            // #############################################################################
            // #############################################################################

            #region MORE FANCY STUFF

            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            // ===========================================================
            #endregion

            Console.ReadKey();
        }
コード例 #8
0
        /// <summary>
        /// Hole Menü aus HTML Knoten
        /// </summary>
        /// <param name="contentNode"></param>
        /// <returns></returns>
        static List <TeamFoodMenu> GetMenuFromContent(HtmlNode contentNode)
        {
            List <TeamFoodMenu> menu = new List <TeamFoodMenu>();
            Regex kwPattern          = new Regex("(?<=KW )\\d{2}");
            Regex datePattern        = new Regex("\\d{1,2}.\\d{1,2}.\\d{4}");

            NumberStyles style    = NumberStyles.AllowDecimalPoint;
            CultureInfo  provider = new CultureInfo("en-US");

            string[] foodTypes = Enum.GetNames(typeof(FoodType));


            // Speisepläne
            var tables  = contentNode.SelectNodes("table");
            var headers = contentNode.SelectNodes("h3");

            if (headers.Count < tables.Count)
            {
                throw new Exception("Fehler beim Aufbau der Tabelle (zu wenige Überschriften).");
            }

            for (int i = 0; i < tables.Count; i++)
            {
                DateTime start;
                DateTime end;
                int      kw;

                // Kalenderwoche
                string headerText = headers[i].InnerText;
                var    kwMatch    = kwPattern.Match(headerText);
                kw = int.Parse(kwMatch.Value);

                // Start- und Enddatum
                var dates = datePattern.Matches(headers[i].InnerText);
                if (dates.Count != 2)
                {
                    continue;
                    //throw new Exception("Fehler beim Parsen von Anfangs- und Enddatum");
                }
                start = DateTime.Parse(dates[0].Value);
                end   = DateTime.Parse(dates[1].Value);

                TeamFoodMenu newMenu = new TeamFoodMenu(kw, start, end);

                // Gehe durch alle Tabellenzeilen
                var        trs        = tables[i].SelectNodes("tr");
                Wochentage currentDay = Wochentage.Montag;

                foreach (var tr in trs)
                {
                    var tds = tr.SelectNodes("td");

                    if (tds[0].InnerText == "Tag")
                    {
                        continue;
                    }

                    TeamFoodMenuItem newMenuItem = new TeamFoodMenuItem();

                    // Extrahiere Wochentag
                    Wochentage parsedDay;
                    if (Enum.TryParse <Wochentage>(tds[0].InnerText, out parsedDay))
                    {
                        currentDay = parsedDay;
                    }

                    // Gericht
                    newMenuItem.Description = WebUtility.HtmlDecode(tds[1].InnerText);

                    // Typ / Fleischart
                    string   type     = WebUtility.HtmlDecode(tds[2].InnerText);
                    FoodType foodType = 0;

                    // Gehe alle Namen der FoodTypes durch und füge die hinzu, die im Text vorkommen
                    for (int t = 0; t < foodTypes.Count(); t++)
                    {
                        if (type.Contains(foodTypes[t]))
                        {
                            foodType |= (FoodType)Enum.Parse(typeof(FoodType), foodTypes[t], true);
                            //foodType |= Enum.Parse<FoodType>(foodTypes[t], true);
                        }
                    }
                    // Falls keine FoodTypes im Text gefunden wurden, setze auf "Andere"
                    if (foodType == 0)
                    {
                        foodType = FoodType.Andere;
                    }
                    newMenuItem.Type = foodType;

                    // Preis
                    string  priceString = tds[3].InnerText.TrimEnd('€');
                    decimal price       = 0;
                    decimal.TryParse(priceString, style, provider, out price);
                    newMenuItem.Price = price;

                    // Beilage
                    string side = WebUtility.HtmlDecode(tds[4].InnerText);
                    if (side != "-")
                    {
                        newMenuItem.SideDish = side;
                    }

                    // Zusatzstoffe
                    string additives = tds[5].InnerText;
                    if (additives.Contains(","))
                    {
                        int[] additivesArray = Array.ConvertAll(additives.Split(','), int.Parse);
                        newMenuItem.Additives = additivesArray.ToList();
                    }
                    else
                    {
                        newMenuItem.Additives = new List <int>();
                        int add;
                        if (int.TryParse(additives, out add))
                        {
                            newMenuItem.Additives.Add(add);
                        }
                    }


                    newMenu.AddMenuItem(currentDay, newMenuItem);
                }

                menu.Add(newMenu);
            }

            return(menu);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: ppedvAG/190625_CSharp_KAR
        static void Main(string[] args)
        {
            // STRG + D => Duplizieren
            // STRG + C => (Ohne Markierung) Ganze Zeile Kopieren
            // STRG + V => (Ohne Markierung) Ganze Zeile einfügen
            // STRG + X => (Ohne Markierung) Ganze Zeile ausschneiden
            // ALT + Pfeiltaste => Codezeile rauf/runter verschieben

            // Programmstart:
            // F5 -> Start mit Debugger
            // STRG + F5 -> Start ohne Debugger
            // F10 und F11 -> Starte im Einzelschrittmodus
            //   -> F10: Methoden überspringen
            //   -> F11: In Methoden hineinspringen

            // Dokumentation erstellen:
            // Einstellungen -> Build -> XML Documentation File - Option aktivieren

            #region Funktionen
            //MachEtwas();
            //MachEtwas();
            //MachEtwas();

            //MachEtwas("Hallo Welt");

            //GibMirEineZufallszahl(100); // rückgabe verfällt

            //int zufallsZahl = GibMirEineZufallszahl(0, 1000);
            //Console.WriteLine(zufallsZahl);


            //int meineZahl = 12;

            //int veränderteZahl = VerändereDieZahl(ref meineZahl);

            //Console.WriteLine($"MeineZahl: {meineZahl}");
            //Console.WriteLine($"VeränderteZahl: {veränderteZahl}");


            //int ergebnis = 0;
            //// bool erfolg = KonvertiereEtwas("123", ref ergebnis);
            //bool erfolg = KonvertiereEtwas("123", out ergebnis);

            //Console.WriteLine(erfolg);
            //Console.WriteLine(ergebnis);

            //Console.WriteLine(Addieren(3,4));
            //Console.WriteLine(Addieren(3,4,6,4,2,3,5,7,78,9654));
            #endregion

            // int zahl1 = 5;
            // if(zahl1 < 10)

            Wochentage wecker = Wochentage.Montag;

            if (wecker == Wochentage.Montag)
            {
                Console.Beep(800, 2000);
            }

            // Beispiel für das Umsetzen einer Nutzereingabe zu einem Enum-Wert
            Console.WriteLine("1 Für Add, 2 für sub ....");
            int benutzerEingabeAlsZahl = 2;

            Rechenoperation gewünschteOperation = (Rechenoperation)benutzerEingabeAlsZahl;
            if (gewünschteOperation == Rechenoperation.Add)
            {
                ; // ...
            }
            Console.WriteLine("---ENDE---");
            Console.ReadKey();
        }