Skip to content

Commit 03d6e93

Browse files
committed
update struct slides
1 parent 4159221 commit 03d6e93

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

slides/content/slides/SWP/PR/10_structs.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ layoutClass: gap-8
3939
# Was sind Structs?
4040

4141
Ein **Struct** ist in C# eine **selbstgemachte Datensorte**.
42-
Ähnlich wie `int`, `double` oder `bool`, kannst du mit einem Struct **deinen eigenen Datentyp** erfinden, der **mehrere Werte zusammenhält**.
42+
Ähnlich wie `int`, `double` oder `bool`, kann man mit einem Struct **seinen eigenen Datentyp** erfinden, der **mehrere Werte zusammenhält**.
4343

4444
**Beispiel:**
4545

@@ -77,7 +77,7 @@ p.Y = 20;
7777
# Warum braucht man Structs?
7878

7979
...weil Structs Dinge **zusammenfassen**, die **zusammengehören**.
80-
Anstatt viele einzelne Variablen herumliegen zu haben, kannst du einen **logischen Block** bilden.
80+
Anstatt viele einzelne Variablen herumliegen zu haben, kann man einen **logischen Block** bilden.
8181

8282
<br>
8383

@@ -185,10 +185,10 @@ layout: two-cols-header
185185
layoutClass: gap-8
186186
---
187187

188-
# Wichtige Struct-Konstruktor Regeln
188+
# Best Practice Struct-Konstruktor
189189

190190
::left::
191-
In einem Struct-Konstruktor müssen <br> **alle Felder selbst gesetzt werden**, sonst gibt es einen Fehler.
191+
In einem Struct-Konstruktor sollten <br> **alle Felder selbst gesetzt werden**.
192192

193193
```csharp
194194
struct Punkt
@@ -199,25 +199,25 @@ struct Punkt
199199
public Punkt(int x)
200200
{
201201
X = x;
202-
// Y fehlt! --> Fehler
202+
// Y fehlt! --> Absicht oder keine Absicht
203203
}
204204
}
205205
```
206206

207207
::right::
208208

209-
Es darf **keinen parameterlosen** Konstruktor geben (also keinen `public Punkt() {}`), weil **C# den automatisch bereitstellt**.
209+
**C# stellt automatisch** einen Standard Konstruktor zur Verfügung. Man könnte ihn notfalls überschreiben, sollte man aber nicht wenn nichts initialisiert wird.
210210

211211
```csharp
212212
struct Punkt
213213
{
214214
public int X;
215215
public int Y;
216216

217-
public Punkt() // nicht erlaubt! --> Fehler ❌
217+
public Punkt() // Standardverhalten überschreiben
218218
{
219-
X = 0;
220-
Y = 0;
219+
X = 5;
220+
Y = 7;
221221
}
222222
}
223223
```

0 commit comments

Comments
 (0)