Skip to content
Snippets Groups Projects
Commit 7f334a2a authored by Uwe Wienkop's avatar Uwe Wienkop
Browse files

xxx

parents 42fe7b83 4aecec3a
No related branches found
No related tags found
No related merge requests found
Showing
with 146 additions and 9 deletions
{
"CurrentProjectSetting": null
}
\ No newline at end of file
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
"ExpandedNodes": [ "ExpandedNodes": [
"" ""
], ],
"SelectedNode": "\\README.md", "SelectedNode": "\\prog2-ss2022-wienkop.sln",
"PreviewInSolutionExplorer": false "PreviewInSolutionExplorer": false
} }
\ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
...@@ -2,11 +2,117 @@ ...@@ -2,11 +2,117 @@
namespace _01_IntroKlassen namespace _01_IntroKlassen
{ {
class Personalausweis
{
private string name;
// 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
// KEIN static vor dem Methodennamen ==>
// Die Methode hat eine automatische this-Referenz
public Personalausweis(string name)
{
this.name = name;
this.persoId = naechsteID;
naechsteID++;
}
//public override string ToString()
// => $"Name: {name}, Perso-Id: {persoId}";
public string getName() { return name; }
public int Id { get => persoId; }
public void setNaechsteId(int wert)
{
if (wert < naechsteID)
throw new ArgumentOutOfRangeException("Die neue ID darf nicht kleiner als die Aktuelle sein!");
naechsteID = wert;
}
public static int 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 class Program
{ {
int mal2(int x) => x * 2;
static void Main(string[] args) static void Main(string[] args)
{ {
Console.WriteLine("Hello Klassen!"); 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;
Personalausweis anton = new Personalausweis("Anton");
Personalausweis berta = new Personalausweis("Berta");
Console.WriteLine(anton);
Console.WriteLine(berta);
Console.WriteLine(anton.getName());
Console.WriteLine(anton.Id);
int x = anton.Id;
//anton.Id = 444;
Personalausweis.NaechsteID ++;
Personalausweis claudia = new Personalausweis("Claudia");
Console.WriteLine(claudia);
} }
} }
} }
No preview for this file type
No preview for this file type
No preview for this file type
{ {
"format": 1, "format": 1,
"restore": { "restore": {
"C:\\Users\\wienkop\\source\\repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj": {} "C:\\Users\\wienkop\\Source\\Repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj": {}
}, },
"projects": { "projects": {
"C:\\Users\\wienkop\\source\\repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj": { "C:\\Users\\wienkop\\Source\\Repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj", "projectUniqueName": "C:\\Users\\wienkop\\Source\\Repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj",
"projectName": "01 IntroKlassen", "projectName": "01 IntroKlassen",
"projectPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj", "projectPath": "C:\\Users\\wienkop\\Source\\Repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\01 IntroKlassen.csproj",
"packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\", "packagesPath": "C:\\Users\\wienkop\\.nuget\\packages\\",
"outputPath": "C:\\Users\\wienkop\\source\\repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\obj\\", "outputPath": "C:\\Users\\wienkop\\Source\\Repos\\prog2-ss2022-wienkop\\01 IntroKlassen\\obj\\",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"configFilePaths": [ "configFilePaths": [
"C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Users\\wienkop\\AppData\\Roaming\\NuGet\\NuGet.Config",
......
is_global = true is_global = true
build_property.RootNamespace = _01_IntroKlassen build_property.RootNamespace = _01_IntroKlassen
build_property.ProjectDir = C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\ build_property.ProjectDir = C:\Users\wienkop\Source\Repos\prog2-ss2022-wienkop\01 IntroKlassen\
No preview for this file type
No preview for this file type
...@@ -11,3 +11,4 @@ C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\net ...@@ -11,3 +11,4 @@ C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\net
C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.dll C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.dll
C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.pdb C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.pdb
C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.genruntimeconfig.cache C:\Users\wienkop\source\repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.genruntimeconfig.cache
C:\Users\wienkop\Source\Repos\prog2-ss2022-wienkop\01 IntroKlassen\obj\Debug\netcoreapp3.1\01 IntroKlassen.csproj.AssemblyReference.cache
No preview for this file type
894a01241c235993fe9dc72e7c653efe412ecea7 dfd8d8286fd8b7829bd92898adb836d599dba73e
No preview for this file type
No preview for this file type
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("01 IntroKlassen")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("01 IntroKlassen")]
[assembly: System.Reflection.AssemblyTitleAttribute("01 IntroKlassen")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Von der MSBuild WriteCodeFragment-Klasse generiert.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment