|
|
| Zeile 1: |
Zeile 1: |
| Hier ist die Übersicht, sortiert von Anfänger bis Profi, jeweils mit Beispielcode und Merkzettel:
| | == Frontend Frameworks – Reifegrade == |
|
| |
|
| == Anfänger ==
| | ; Tier-Definition (Kurzfassung) |
| ; Deklaration & Verkettung
| | * Tier 1: Weit verbreitet, stabil, Langzeitpflege, starkes Ökosystem |
| <syntaxhighlight lang="csharp">
| |
| string name = "Alice";
| |
| string full = vorname + " " + nachname;
| |
| </syntaxhighlight>
| |
| * Merkzettel: Strings sind Zeichenketten. Verkettung mit +. | |
|
| |
|
| ; Eigenschaften & Vergleich
| |
| <syntaxhighlight lang="csharp">
| |
| int len = str.Length;
| |
| bool gleich = str == "abc";
| |
| </syntaxhighlight>
| |
| * Merkzettel: .Length gibt die Länge. == vergleicht Werte.
| |
|
| |
|
| ; Suchen & Extrahieren
| | {| class="wikitable sortable" |
| <syntaxhighlight lang="csharp">
| | ! Tier !! Framework !! Kategorie !! Erstveröffentlichung !! Governance/Backing !! Release-/LTS-Kadenz !! Kurzbewertung |
| bool hat = str.Contains("abc");
| | |- |
| char c = str[0];
| | | 1 || React || Bibliothek || 2013 || Meta + Community || regelmäßig || Dominantes Ökosystem, sehr stabil |
| string teil = str.Substring(2, 3);
| | |- |
| </syntaxhighlight>
| | | 1 || Angular || Framework || 2016 || Google || LTS || Enterprise‑fokussiert, integrierter Stack |
| * Merkzettel: .Contains prüft auf Teilstring, [i] für Zeichen, Substring für Ausschnitt.
| | |- |
| | | 1 || Vue.js || Framework || 2014 || Core‑Team + Community || regelmäßig || Reif, breite Adoption |
| | |- |
| | | 1 || Next.js || Meta‑Framework (React) || 2016 || Vercel || schnell || Produktionsreif, SSR/ISR/RSC |
|
| |
|
| ; Aufteilen & Zusammenfügen
| | |} |
| <syntaxhighlight lang="csharp">
| |
| var parts = str.Split(',');
| |
| string joined = string.Join(";", parts);
| |
| </syntaxhighlight>
| |
| * Merkzettel: Split teilt, Join verbindet.
| |
| | |
| ; Trimmen & Ersetzen
| |
| <syntaxhighlight lang="csharp">
| |
| str.Trim();
| |
| str.Replace("alt", "neu");
| |
| </syntaxhighlight>
| |
| * Merkzettel: Trim entfernt Leerzeichen, Replace ersetzt Text.
| |
| | |
| == Fortgeschritten ==
| |
| ; Formatierung & Groß/Kleinschreibung
| |
| <syntaxhighlight lang="csharp">
| |
| string s = $"Wert: {value:N2}";
| |
| str.ToUpperInvariant();
| |
| </syntaxhighlight>
| |
| * Merkzettel: $"" für Interpolation, ToUpper/ToLower für Umwandlung.
| |
| | |
| ; Einfügen & Entfernen & Pad
| |
| <syntaxhighlight lang="csharp">
| |
| str.Insert(2, "X");
| |
| str.Remove(1, 2);
| |
| "42".PadLeft(5, '0');
| |
| </syntaxhighlight>
| |
| * Merkzettel: Insert/Remove ändern Text, PadLeft/Right füllt auf.
| |
| | |
| ; Zeichenprüfung
| |
| <syntaxhighlight lang="csharp">
| |
| char.IsLetterOrDigit(ch);
| |
| </syntaxhighlight>
| |
| * Merkzettel: Prüft Zeichen auf Buchstabe/Ziffer.
| |
| | |
| ; Null/Empty/WhiteSpace
| |
| <syntaxhighlight lang="csharp">
| |
| string.IsNullOrEmpty(str);
| |
| string.IsNullOrWhiteSpace(str);
| |
| </syntaxhighlight>
| |
| * Merkzettel: Prüft auf leere oder nur Leerzeichen.
| |
| | |
| == Profi ==
| |
| ; StringBuilder (für viele Änderungen)
| |
| <syntaxhighlight lang="csharp">
| |
| var sb = new StringBuilder().Append("A").Append("B");
| |
| string result = sb.ToString();
| |
| </syntaxhighlight>
| |
| * Merkzettel: StringBuilder für viele Verkettungen.
| |
| | |
| ; Span-Slicing & Split (Performance)
| |
| <syntaxhighlight lang="csharp">
| |
| var teil = str.AsSpan().Slice(2, 3);
| |
| </syntaxhighlight>
| |
| * Merkzettel: AsSpan/Slice für schnelle Teilstrings.
| |
| | |
| ; Sicherheitsrelevanter Vergleich
| |
| <syntaxhighlight lang="csharp">
| |
| CryptographicOperations.FixedTimeEquals(
| |
| MemoryMarshal.AsBytes("secret"u8),
| |
| MemoryMarshal.AsBytes(eingabe.AsSpan()));
| |
| </syntaxhighlight>
| |
| * Merkzettel: FixedTimeEquals für sichere Vergleiche.
| |
| | |
| ; Interpolated String Handler
| |
| <syntaxhighlight lang="csharp">
| |
| [InterpolatedStringHandler]
| |
| public ref struct LogHandler { }
| |
| </syntaxhighlight>
| |
| * Merkzettel: Eigene Handler für Logging/Performance.
| |
| | |
| ; Raw String Literals (C# 11)
| |
| <syntaxhighlight lang="csharp">
| |
| string json = """
| |
| {
| |
| "id": 1,
| |
| "name": "Alice"
| |
| }
| |
| """;
| |
| </syntaxhighlight>
| |
| * Merkzettel: Mehrzeilige Strings mit """.
| |
| | |
| ; Escapes & Normalisierung
| |
| <syntaxhighlight lang="csharp">
| |
| string pfad = @"C:\Temp\log.txt";
| |
| string norm = str.Normalize(NormalizationForm.FormC);
| |
| </syntaxhighlight>
| |
| * Merkzettel: @ für Pfade, Normalize für Unicode.
| |
| | |
| == Zusammenfassung ==
| |
| Kurzliste Anfänger: Deklaration, Verkettung, Eigenschaften, Vergleich, Suchen, Extrahieren, Split, Join, Trim, Replace
| |
| Kurzliste Fortgeschritten: Formatierung, Groß/Klein, Insert, Remove, Pad, Zeichenprüfung, Null/Empty
| |
| Kurzliste Profi: StringBuilder, Span, Sicherheitsvergleich, Interpolated Handler, Raw Literals, Escapes, Normalisierung
| |
Frontend Frameworks – Reifegrade
- Tier-Definition (Kurzfassung)
- Tier 1: Weit verbreitet, stabil, Langzeitpflege, starkes Ökosystem
| Tier |
Framework |
Kategorie |
Erstveröffentlichung |
Governance/Backing |
Release-/LTS-Kadenz |
Kurzbewertung
|
| 1 |
React |
Bibliothek |
2013 |
Meta + Community |
regelmäßig |
Dominantes Ökosystem, sehr stabil
|
| 1 |
Angular |
Framework |
2016 |
Google |
LTS |
Enterprise‑fokussiert, integrierter Stack
|
| 1 |
Vue.js |
Framework |
2014 |
Core‑Team + Community |
regelmäßig |
Reif, breite Adoption
|
| 1 |
Next.js |
Meta‑Framework (React) |
2016 |
Vercel |
schnell |
Produktionsreif, SSR/ISR/RSC
|