Umgang mit Objekten vom IDisposable Interface

Im .NET Framework  ist die “Entsorgung” eines Objektes ebenso wichtig wie es korrekt zu verarbeiten. Der ideale Ansatz wäre die Dispose-Methode der IDisposable-Schnittstelle in der Klasse zu implementieren, so dass nach der Verwendung eines Objektes dieser Klasse das Objekt durch den Aufruf der... [Mehr]

Häufige C# Fehler: Iterative (statt deklarative) Statement bei Collections

In C # 3.0, ward endlich licht und der frommen C# Gemeinde wurde LINQ(Language integrated Query) geschenkt um die Arbeit mit Collections zu arbeiten komplett zu ändern. Jedes mal wenn sie nun iterative Statements benutzen um Collections zu manipulieren hätten sie LINQ benutzen sollen. Man mag ... [Mehr]

Häufige C# Fehler: falscher String Vergelichsoperator

Es gibt viele verschiedene Möglichkeiten, um Strings in C # zu vergleichen. Obwohl viele Programmierer  den Operator == für String-Vergleich verwenden, ist es tatsächlich eine der ungünstigsten Methoden welche man nutzen kann, vor allem, weil sie nicht explizit im Code, die... [Mehr]

Null-Conditional C# 6, der elegante Einzeiler

  Ein neues Feature von C# 6.0 ist der Null-Conditional Operator. Eine Referenzvariable kann einen Null Wert haben oder auf eine Instanz des passenden Types verweisen. Um eine NullReferenceException zu vermeiden sieht man nun häufig Code-Snippets ähnlich dem folgenden: string testS... [Mehr]

Nullable Types == != && ||

Schon für Einsteiger in die farbenfrohe Welt des C# wird früh der Bereich der booleschen Algebra interessant, Entscheidungen auf Grundlage von Wahrheitswerten zu fällen ist Essenziell für den strukturierten Ablauf eines Programmes. Ein interessanter Hinweis zum Thema logischer Operatoren: ... [Mehr]

Zählen bis unendlich und zwar 2mal !

  Ein Enumerator kann so geschrieben werden dass er ein Enumerable indefiniter Länge erzeugen kann.  Der Iterator wird in diesem Fall ausgeführt solange weitere Elemente erfragt werden bzw. eine vordefinierte Grenze erreicht ist. Dieser C# Iterator hier erzeugt Primzahlen, das Besondere ... [Mehr]

Häufige C# Fehler: Concatenation statt Stringbuilder

Die Zeichenfolgenverkettung (z.B durch +) arbeitet auf eine Art und Weise, so dass jedes Mal, wenn Sie etwas der Zeichenfolge hinzufügen, eine neue Adresse im Speicher zugewiesen wird. Der bisherige String wird an eine neue Position mit dem neu hinzugefügten Teil kopiert. Dies ist recht ineffizient.... [Mehr]

Elegantes Zeilen sparen dank C# 6.0

  In C # 6.0 können Sie eine using-Direktive nicht nur mit Namensräumen, sondern auch mit dem Namen einer statischen Klasse verwenden. Dies ermöglicht den Aufruf statischer Methoden in der Klasse ohne den Klassennamen anzugeben. Nehmen wir ein mal an, dass wir eine statische Klasse Utility ha... [Mehr]

Beginn der Reihe: Häufige Fehler in C#–Referenztypen und Werttypen

Programmierer von C++, und vieler anderer Sprachen,sind gewohnt dass sie die Kontrolle darüber haben ob Werte, welche sie zuweisen einfach nur Werte sind oder Referenzen auf vorhandene Objekte . In C #, jedoch, wird diese Entscheidung nicht von dem Programmierer getroffen welcher ein Objekt instanzi... [Mehr]

Häufige Fehler Pt2: Default Values missverstehen

In C # können Werttypen (standardmäßig) nicht null sein. Per Definition enthalten Werttypen einen Wert, und selbst nicht initialisierte Variablen von Wertetypen muss einen Wert haben. Wir reden vom Standardwert dieses Types. Dies führt zu dem folgenden, in der Regel unerwartete Ergebnis bei der Prüf... [Mehr]