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(); }
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!"); } }
public TeamFoodDay(Wochentage tag) { if (!Enum.IsDefined(typeof(Wochentage), tag)) { throw new Exception("Falscher Wochentag angegeben."); } Wochentag = tag; menuItems = new List <TeamFoodMenuItem>(); }
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(); }
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; } }
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); }
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(); }
/// <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); }
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(); }