C# hat einige nette Features die man auf Anhieb nicht gerade kennt.
Hier ein paar davon:
Nullable Types
Wenn man mit Datenbanken arbeitet, wo auch Integer oder Daten “NULL” sein können, hilft der Nullable Type. Dazu werdendet man einfach ein zusätzliches “?” bei der Typdeklaration. Hier ein paar Beispiele:
int? myNullableInt = null; DateTime? myNullableDate = null;
?? Operator
Oft muss man eine Variable überprüfen, ob sie null ist und wenn ja, einen entsprechenden Wert stattdessen verwenden.
Normalerweise macht man das dann so:
string retValue = (myString == null ? "" : myString);
In C# lässt sich das Ganze abkürzen auf:
string retValue = myString ?? "";
Property ohne Member Variable
Oft braucht man ein einfaches Property auf einer Klasse zum setzen und holen einer Variable.
Dazu verwendet man meistens folgendes Beispiel:
private int _myNumber; public int MyNumber { get { return _myNumber; } set { _myNumber = value; } }
In C# kann man auch einfach das verwenden:
public int MyNumber { get; set; }
Using reserved names as variables
For various reasons, you might need to use a reserved word (like class or ref) as a variable name (for example for serialization). To overcome the compiler error, just add an @ in front of your variable.
Example:
int ref = 10; // fails int @ref = 10; // succeeds
#
Nett ist auch, dass man so auch reine (public) getter Properties machen kann:
public string MyString { get; protected set; }