C# (.NET / Mono)
Mach mal Pause Planung nächste Generation LernMoment.de Wenn du Antworten zu C# in Deutsch brauchst, ... InspirationsMoment - myCSharp.de Schreibe kürzeren Quelltext mit dem null-conditional Operator. Mit ?. zu weniger Null-Abfragen. DataContract - Von der Einfachheit Objekte in eine XML-Datei zu schreiben. Verwende die Klassen DataContractSerializer, XmlWriter und XmlDictionaryWriter. Was wächst wohl auf einer TechWiese? Wissen! InspirationsMoment: Microsoft - TechWiese Wie gefällt dir der LernMoment C#? Du kannst mir helfen LernMoment.de besser zu machen. ParallelLoopState.Break - Wie du Parallel.For und Parallel.ForEach verlassen kannst Bei der parallelen Abarbeitung von Schleifen ist das Verlassen komplizierter. Thread-safe addieren und mehr mit Interlocked InspirationsMoment - Interlocked readonly oder const? Wie konstant darf deine Konstante sein? Ein readonly Attribut ist nicht unbedingt unveränderlich! Kannst du den Namen einer Klasse, Methode, ... ausgeben? InspirationsMoment - nameof Operator Herausforderung - Schaffst du es ein Singleton zu implementieren? In 5 Minuten und ohne Hilfe? Data-Templates - Stelle mühelos Details deiner Objekte in WPF dar Die wichtigsten Klassen und Eigenschaften zur Verwendung von DataTemplate. Weißt du wie die Versionsnummern von C# und .NET zusammenpassen? InspirationsMoment - .NET / C# Versionen Ist dein Singleton thread-safe? Zwei Varianten wie du ein Singleton implementieren kannst. Und eine die du besser nicht verwendest. Wie du WPF Oberflächen programmatisch bearbeitest und testest InspirationsMoment - UI Automation Fertige Extension Methods - Das Rad nicht neu erfinden InspirationsMoment - ExtensionMethod.net Extension Method - Wie du in 4 trivialen Schritten jede Klasse erweitern kannst Und warum du es nicht so häufig tun solltest Mit C# 6.0 noch müheloser Werte in Strings einfügen InspirationsMoment - String Interpolation yield return - Schlüsselwort für verzögerte Ausführung Ist deine IEnumerable eifrig oder träge? Gefilterte Ausnahme mit "when" InspirationsMoment - Exception Filter Pfade trennen sich auf allen Plattformen anders InspirationsMoment - System.IO.Path.Combine Warum das Abmelden von Events überbewertet ist. Und wann du es trotzdem machen solltest. Kennst Du Den Quellcode Deiner Lieblingsmethode? InspirationsMoment - Reference Source Was magst du in deinen Wrap? Ausnahmen? Wie du wichtige Informationen über InnerException bekommst. Komprimiere deinen Datenstrom mit zlib InspirationsMoment - System.IO.Compression.DeflateStream Parallel.ForEach und thread-lokale Daten Der Turboboost für einige deiner Schleifen. Variablen einfangen mit Lambda-Ausdrücken Die 2 wichtigsten Grundsätze für externe Variablen in Lambda-Ausdrücken. Initialisierung mit Konstruktor und Object Initializer Wie du Objekte sinnvoll initialisierst. Mit der Ausrichtungskomponente zu erstaunlichen Ausgaben Tabellarische Ausgabe mit kombinierter Formatierung DataContract - Die Flatrate zum Serialisieren deiner Objekte Wie du (fast) kostenlos einen Datenvertrag für deine Klasse realisierst Verwende deine C# Bibliothek in anderen .NET Sprachen Der Trick mit CLSCompliant Unterstützt deine WPF-Anwendung Tastenkombinationen? KeyBinding - Die einfachste Möglichkeit Tastenkombinationen zu definieren. Kombinierte Formatierung - Enumformate Enums ausgeben mit ein wenig HEXerei Mit zyklomatischer Komplexität Quelltext vereinfachen Die McCabe Metrik zeigt dir wo du Fehler und Testaufwand minimieren kannst. Flag(ge) zeigen für Bitpopelei Wie du mit [Flags] schnell ein Bitfeld aus deiner Enum machst. Was ist eigentlich Kontravarianz für Generics? Verstehe das Konzept mühelos am Beispiel von IComparable. Ein Multicast-Delegate erstellen Erst kombinieren, dann delegieren Von Prozessen zu Tasks Die 5 wichtigsten Klassen für Parallelisierung ab .NET 4.0 Kombinierte Formatierung - Zahlenformate Von C wie Währung bis X wie HEXerei Haben deine Delegates den Func? Vereinfache deinen Quelltext mit Func<...> Asynchron abgekürzt: APM, EAP und TAP Wann du welchen Ansatz zur asynchronen Ausführung verwendest. Wartungsfreundliches INotifyPropertyChanged Verwendest du immer noch strings in OnPropertyChanged? Kombinierte Formatierung für Konsole, Datei, ... Tipps wie du mühelos Werte in Strings einfügst und formatierst Ist C# unsicher per Design? Wie du das Schlüsselwort unsafe verwendest. Zuverlässig Entsorgen mit der using Anweisung Wie du auch in Ausnahmefällen sicherstellst, dass Dispose aufgerufen wird. Der Garbage Collector Antworten auf die wichtigsten Fragen um Quelltext ohne Speicherlöcher zuerstellen. Vorsicht Optimierung: Die Klasse StringBuilder Regeln der Optimierung: 1.) Tue es nicht, 2.) Tue es noch nicht! Automatisch Implementierte Eigenschaften - Die C# 6.0 Syntax Wie du mit .NET 4.6 eine Eigenschaft mit nur get automatisch implementieren kannst. Kovarianz und Felder In der Praxis (fast) ganz einfach, aber in der Theorie echt abgefahren Predicate Delegate Wie du spezifische Abfragen in generischen Algorithmen verwendest. Automatisiere Deine Installation Installierst du noch, oder entwickelst du schon? Lambda-Ausdrücke Erstellen => vereinfache deinen Quellcode mit diesem Operator. XML Dokumentationskommentare Tags die deine Kommentare in IntelliSense erscheinen lassen. Anonyme Methoden Vereinfache deinen Quellcode mit etwas unbekanntem Command.CanExecute Wie du mit nur 3 Schritten deinem Benutzer die Bedienung erleichterst NuGet Pakete Restaurieren Delegiert! Wie du automatisch fehlende Pakete laden lässt. Var Schluesselwort Warum einfach, wenn es auch mit implizit typisierten lokalen Variablen geht? Die Klasse File Wie du einfach eine Datei bearbeitest. Einführung in Async / Await wie du einfach asynchron Daten liest