diff --git a/01Buergeramt/Program.cs b/01Buergeramt/Program.cs index f1107740dc53fb08612461223f85e9c1fd0e5ae7..8e887b104a2e16e3893d070f45c430e3cda75a28 100644 --- a/01Buergeramt/Program.cs +++ b/01Buergeramt/Program.cs @@ -10,7 +10,7 @@ // Dieses Property muss vor dem Anlegen der ersten Person aufrufbar sein! // - Property: Zum Lesen des Namens (kann auch als Auto-Property realisiert werden) // - Überladene ToString-Methode: Soll den Namen und die Id ausgeben - +#region Bürgeramt // Programmieren Sie zusätzlich eine Klasse Bürgeramt mit folgenden Eigenschaften // string ort // - Konstruktor, dem der Ortsname und die Anzahl der zu speichernden Personalausweise übergeben werden @@ -21,15 +21,65 @@ // Main: Legen Sie zwei Bürgerämter an (Nürnberg/Fürth) und lassen Sie für Nürnberg mehrere Pässe erzeugen // Optional: Rufen Sie AllePersos mit einem passenden Teilnamen auf und geben Sie diese aus! - +#endregion namespace _01Buergeramt { + class Personalausweis + { + public string name { get; private set; } + int id; + static int naechsteId=1000; + + public Personalausweis(string name) + { + this.name = name; + id = naechsteId++; + } + public static int NaechsteId { + get => naechsteId; + set + { + if (value >= naechsteId) + naechsteId = value; + else + throw new ArgumentOutOfRangeException("Wert muss größer als ... sein"); + } + } + public override string ToString() => $"Name: {name} Id: {id}"; + } + class Buergeramt + { + string ort; + int anzPersonalausweise; + Personalausweis[] ausweise; + int aktAnz = 0; + public Buergeramt(string ort, int anzahlPersonalausweise) + { + this.ort = ort; + anzPersonalausweise = anzahlPersonalausweise; + ausweise = new Personalausweis[anzPersonalausweise]; + } + public Personalausweis NeuerAusweis(string name) + { + Personalausweis p = new Personalausweis(name); + ausweise[aktAnz++] = p; + return p; + } + public Personalausweis NeuerAusweis(Personalausweis alterPerso) + { + ausweise[aktAnz++] = alterPerso; + return alterPerso; + } + + + } class Program { static void Main(string[] args) { - Console.WriteLine("Hello World!"); + Personalausweis p1 = new Personalausweis("Anton"); + Console.WriteLine(p1); } } } diff --git a/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.dll b/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.dll index bef5eae3fe61dcfad32c231a60100be90f965ffa..0f650b83dfd0e13cc10c5f9bb5ec850615d907fc 100644 Binary files a/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.dll and b/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.dll differ diff --git a/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.pdb b/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.pdb index b1a285eb2cb8b75e769892f47582a576411c1e08..3bd6139c9ec55c0e47dc0d8bcbb16983491bcf97 100644 Binary files a/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.pdb and b/01Buergeramt/bin/Debug/netcoreapp3.1/01Buergeramt.pdb differ diff --git a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.csprojAssemblyReference.cache b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.csprojAssemblyReference.cache index 75c16613d637ba1aee3feac158410536d13849e8..9cea71eee3672f3b92eb4ae6a31d4ee576def39e 100644 Binary files a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.csprojAssemblyReference.cache and b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.csprojAssemblyReference.cache differ diff --git a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.dll b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.dll index bef5eae3fe61dcfad32c231a60100be90f965ffa..0f650b83dfd0e13cc10c5f9bb5ec850615d907fc 100644 Binary files a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.dll and b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.dll differ diff --git a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.pdb b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.pdb index b1a285eb2cb8b75e769892f47582a576411c1e08..3bd6139c9ec55c0e47dc0d8bcbb16983491bcf97 100644 Binary files a/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.pdb and b/01Buergeramt/obj/Debug/netcoreapp3.1/01Buergeramt.pdb differ diff --git a/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache b/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache index a0fbfd12797557adefa2aaaacd9d5126dec64303..9b0e710fb7587c1bf9b43414d9232508a4786d6e 100644 Binary files a/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache and b/01Indexer/obj/Debug/netcoreapp3.1/01Indexer.csprojAssemblyReference.cache differ diff --git a/01KlassenWiederholung/Program.cs b/01KlassenWiederholung/Program.cs index c5c3d5906c4fc0910ffea64a4c11c518fc0a355d..e827145d64efa8bdc9f051e6628a9defdc44b2b6 100644 --- a/01KlassenWiederholung/Program.cs +++ b/01KlassenWiederholung/Program.cs @@ -11,13 +11,14 @@ namespace _01KlassenWiederholung // Legt eine anonyme Variable an ~alter4711 // plus eine öffentliche get-Methode plus eine private set-Methode private string telNr; - private readonly int steuerIdentNummer; + private readonly int steuerIdentNummer=100; // readonly = Diese Variable darf nur im Konstruktor geändert werden //private DateTime gebDatum; // static Member/static Datenfelder (MIT Angabe von static) // Kommen nur einmal pro Klasse vor - private static int naechsteIdentnummer = 1; + private static int naechsteIdentnummer = 0; + private static Person[] personen = new Person[1000]; // get ~ gezielte Umgehung des private-Schutzes; liefert Wert zurück @@ -60,16 +61,26 @@ namespace _01KlassenWiederholung public int Alter4 { get; private set; } // Öffentliches get, privates set - + static Person() + { + Console.WriteLine("Statischer Konstruktor"); + naechsteIdentnummer = 100; + }x + public Person(int stId) + { + steuerIdentNummer = stId; + } // Konstruktor Person - public Person(string Name, string Vorname, int Alter, string TelNr = "") + public Person(string name, string Vorname, int Alter, string TelNr = "") { - name = Name; + this.name = name; vorname = Vorname; if (Alter < 0) throw new ArgumentOutOfRangeException("Das Alter muss >= 0 sein"); + Alter2 = Alter; telNr = TelNr; steuerIdentNummer = naechsteIdentnummer; + personen[naechsteIdentnummer] = this; naechsteIdentnummer++; } // STATIC oder NICHT-STATIC??? @@ -131,8 +142,10 @@ namespace _01KlassenWiederholung static void Main(string[] args) { + Console.WriteLine("Programmstart"); // anton.SetzeIdentnummer(1000000); -- geht nicht, da anton noch nicht existiert Person.SetzeIdentnummer(1000000); + Console.WriteLine("Hier sind wir ..."); Person anton = new Person("Müller", "Anton", 23); anton.setAlter(24); anton.setAlter(anton.getAlter() + 1); diff --git a/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.dll b/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.dll index 2a435040740029a35d4337e4ad92c99386bd2d85..e09be2354f2effc0f98c7bfef57c550ccc49842f 100644 Binary files a/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.dll and b/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.dll differ diff --git a/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.pdb b/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.pdb index 4227dda2d89b138eb060c57b5f6620cda646e36c..cd33816cf17d0467afb208e86edf0f418372748e 100644 Binary files a/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.pdb and b/01KlassenWiederholung/bin/Debug/netcoreapp3.1/01KlassenWiederholung.pdb differ diff --git a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache index e84921a470a178d6c34a6d16975b66db84b52171..9373385b98e1b7a59f299923e290e7b415004a26 100644 Binary files a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache and b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.csprojAssemblyReference.cache differ diff --git a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.dll b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.dll index 2a435040740029a35d4337e4ad92c99386bd2d85..e09be2354f2effc0f98c7bfef57c550ccc49842f 100644 Binary files a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.dll and b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.dll differ diff --git a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.pdb b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.pdb index 4227dda2d89b138eb060c57b5f6620cda646e36c..cd33816cf17d0467afb208e86edf0f418372748e 100644 Binary files a/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.pdb and b/01KlassenWiederholung/obj/Debug/netcoreapp3.1/01KlassenWiederholung.pdb differ diff --git a/01OperatorOverloading/Program.cs b/01OperatorOverloading/Program.cs index a28bdb19fb407dbbae81ebc4d718cafe22cfa059..0010770105428ba139b3351d9d5e87eb740a4037 100644 --- a/01OperatorOverloading/Program.cs +++ b/01OperatorOverloading/Program.cs @@ -12,14 +12,17 @@ namespace _01OperatorOverloading throw new ArgumentNullException("Nenner darf nicht 0 sein!"); n = N; } + //public static explicit operator int(Bruch b1) => 1; + public static implicit operator int(Bruch b1) => 1; } - - + + class Program { static void Main(string[] args) { - Console.WriteLine("Hello World!"); + Bruch b1 = new Bruch(1, 3); + int k = b1; } } }