44 Beitrag/Beiträge
Montag, 27. Juli 2026
Zwei Listen, die sich nur in der Mitte überschneiden: Kunden mit Bestellungen, Bestellungen ohne Kunden, Kunden ohne Bestellung. Ich will alle drei Gruppen in einem Durchgang. In SQL ist das ein FULL OUTER JOIN, in LINQ gab es dafür lange nichts Eingebautes, nur die Krücke aus GroupJoin und DefaultIfEmpty.
Weiterlesen...Freitag, 24. Juli 2026
Wer in C# eine feste Menge von Fällen abbilden will, greift seit Jahren zum gleichen Muster: eine abstrakte Basisklasse, ein paar abgeleitete Records, darüber ein switch. Das funktioniert, hat aber einen Haken. Der Compiler weiß nicht, dass die Liste der Ableitungen abgeschlossen ist. Jemand kann in einem anderen Projekt eine weitere Ableitung nachschieben, und mein switch läuft plötzlich ins Leere. Deshalb steht am Ende immer ein _ => throw-Zweig, den ich nie ausgelöst sehen will und der trotzdem da sein muss.
Weiterlesen...Mittwoch, 08. Juli 2026
Im Juni-Beitrag stand, dass ich den Agent Harness noch nicht ausprobiert habe. Nachgeholt.
Weiterlesen...Dienstag, 07. Juli 2026
Ein Puffer fester Größe innerhalb einer Struktur brauchte früher unsafe und fixed. Seit C# 12 nicht mehr:
Weiterlesen...Mittwoch, 17. Juni 2026
Nach der Build habe ich mir den Teil vorgenommen, der mich wirklich betrifft: Wie sieht ein Agent aus, der vor einer schreibenden Aktion fragt?
Weiterlesen...Donnerstag, 11. Juni 2026
Eine Zuordnungstabelle, die beim Start gefüllt und danach millionenfach gelesen wird:
Weiterlesen...Montag, 08. Juni 2026
Collection Expressions funktionieren nicht nur für eingebaute Typen. Ein eigener unveränderlicher Sammlungstyp kann sie ebenfalls anbieten:
Weiterlesen...Mittwoch, 20. Mai 2026
Die unangenehmste Stelle beim Arbeiten mit Sprachmodellen ist die Rückgabe. Man bittet um JSON, bekommt JSON, und beim vierzigsten Aufruf steht davor „Gerne! Hier ist das JSON:” und das Ganze in einem Markdown-Block.
Weiterlesen...Mittwoch, 13. Mai 2026
Dependency Properties sind der Teil von WPF, den man zehn Jahre lang benutzt, ohne ihn erklären zu können. Der Code dafür ist Formelkram, den man aus einem Codeschnipsel einfügt:
Weiterlesen...Donnerstag, 23. April 2026
Weil hinter IChatClient beides stecken kann, lässt sich ein Vergleich in wenigen Zeilen bauen:
Weiterlesen...