diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json index 6b6114114f4e89a1f2d0e911ff090e541af1260c..601733b0c07a55baf35a45e5dfdad37932eb1eb3 100644 --- a/.vs/VSWorkspaceState.json +++ b/.vs/VSWorkspaceState.json @@ -2,5 +2,6 @@ "ExpandedNodes": [ "" ], + "SelectedNode": "\\prog2-ss2022-wienkop.sln", "PreviewInSolutionExplorer": false } \ No newline at end of file diff --git a/.vs/prog2-ss2022-wienkop/DesignTimeBuild/.dtbcache.v2 b/.vs/prog2-ss2022-wienkop/DesignTimeBuild/.dtbcache.v2 index ecd88681bd785c531a8bc435717d6a2f897835f3..73731648e773aae0c9a3d1fd5cbd838830192d7f 100644 Binary files a/.vs/prog2-ss2022-wienkop/DesignTimeBuild/.dtbcache.v2 and b/.vs/prog2-ss2022-wienkop/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/prog2-ss2022-wienkop/v16/.suo b/.vs/prog2-ss2022-wienkop/v16/.suo index 724c8661e26ee92280b45abba6befe928c550bbf..3389ef81f6ce219877bd293b7db5a83e830b743f 100644 Binary files a/.vs/prog2-ss2022-wienkop/v16/.suo and b/.vs/prog2-ss2022-wienkop/v16/.suo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 1bab2d49409db926d6f69f6d0566e5d26f88099f..a81be662d403b68ad65a7d2970c612d43501d772 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ diff --git a/01 IntroKlassen/Program.cs b/01 IntroKlassen/Program.cs index e4c59fb284bf8a3858e70dc280f26d7967a66682..30827699dde34fac70b02f5ac2c37eb5e3bc8dce 100644 --- a/01 IntroKlassen/Program.cs +++ b/01 IntroKlassen/Program.cs @@ -5,7 +5,13 @@ namespace _01_IntroKlassen class Personalausweis { private string name; - public int persoId { get; private set; } + // public int persoId { get; private set; } + private int _persoId; + public int persoId + { + get { return _persoId; } + private set { _persoId = value; } + } private static int naechsteID = 1000; // static: Dieses Datenfeld gibt es nur EINMAL für die Klasse @@ -17,8 +23,8 @@ namespace _01_IntroKlassen this.persoId = naechsteID; naechsteID++; } - public override string ToString() - => $"Name: {name}, Perso-Id: {persoId}"; + //public override string ToString() + // => $"Name: {name}, Perso-Id: {persoId}"; public string getName() { return name; } public int Id { get => persoId; } public void setNaechsteId(int wert) @@ -30,18 +36,68 @@ namespace _01_IntroKlassen public static int NaechsteID { - get { return naechsteID; } + get { Console.WriteLine("get() "); return naechsteID; } set { + Console.WriteLine($"set({value}) "); if (value < naechsteID) throw new ArgumentOutOfRangeException("Die neue ID darf nicht kleiner als die Aktuelle sein!"); naechsteID = value; } } } + class Buergeramt + { + private Personalausweis[] personalausweise; + private int anzPersos=0; + public Buergeramt(int anz=1000) + { + personalausweise = new Personalausweis[anz]; + } + public void NeuerPersonalausweis(Personalausweis perso) + { + personalausweise[anzPersos] = perso; + anzPersos++; + } + public Personalausweis getPerso(int n) + { + return personalausweise[n]; + } + public Personalausweis this [int n] + { + get => personalausweise[n]; + } + public Personalausweis this[string name] + { + get + { + for (int i = 0; i < personalausweise.Length; i++) + { + if (personalausweise[i].getName() == name) + return personalausweise[i]; + } + return null; + + } + + } + } + + class Program { + int mal2(int x) => x * 2; static void Main(string[] args) + { + Buergeramt nuernberg = new Buergeramt(2000); + Buergeramt fuerth = new Buergeramt(); + nuernberg.NeuerPersonalausweis(new Personalausweis("Anton")); + fuerth.NeuerPersonalausweis(new Personalausweis("Berta")); + Console.WriteLine(nuernberg.getPerso(0)); + Console.WriteLine(nuernberg[0]); + Console.WriteLine(nuernberg["Anton"]); + } + static void Main2(string[] args) { Personalausweis.NaechsteID = 10000; @@ -54,7 +110,7 @@ namespace _01_IntroKlassen int x = anton.Id; //anton.Id = 444; - Personalausweis.NaechsteID = 20000; + Personalausweis.NaechsteID ++; Personalausweis claudia = new Personalausweis("Claudia"); Console.WriteLine(claudia); } diff --git a/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.dll b/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.dll index 9ab479ef25890d377d05c5890fb8de298d15bbb7..e7914d699c9fcc2fe139f45a26ac04b73b4636a4 100644 Binary files a/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.dll and b/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.dll differ diff --git a/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.pdb b/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.pdb index 14217a8b49084af4dbe0d7090f724fac6076aaac..12cdc8179833958f17e311f58dba97d197a4a10b 100644 Binary files a/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.pdb and b/01 IntroKlassen/bin/Debug/netcoreapp3.1/01 IntroKlassen.pdb differ diff --git a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.csproj.AssemblyReference.cache b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.csproj.AssemblyReference.cache index f5e894aea93a73e58fa9d4feab241bc197ee1a40..3bee885b9c47984a4330cda47e969901caedc416 100644 Binary files a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.csproj.AssemblyReference.cache and b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.csproj.AssemblyReference.cache differ diff --git a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.dll b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.dll index 9ab479ef25890d377d05c5890fb8de298d15bbb7..e7914d699c9fcc2fe139f45a26ac04b73b4636a4 100644 Binary files a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.dll and b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.dll differ diff --git a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.pdb b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.pdb index 14217a8b49084af4dbe0d7090f724fac6076aaac..12cdc8179833958f17e311f58dba97d197a4a10b 100644 Binary files a/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.pdb and b/01 IntroKlassen/obj/Debug/netcoreapp3.1/01 IntroKlassen.pdb differ