DotnetMinorNotes

Operators

++ operator

a = 3, b = 2

int maxvalue

int i = int.MaxValue; 
int result = i + 1; 
i == int.MinValue // true

checked en unchecked

checked
{
    int i = 10;
    i++;
}

AND en ANDALSO

&& (AND) en & (ANDALSO)

Elvis

int i = something != null ? something.Value : 10;

Zet de .Value in i als something niet null is. Anders 10 als waarde

Null coalescence

b = something ?? new Bird();

Als something niet null is wordt deze in b gestopt. Anders een nieuwe instantie van Bird in b stoppen

Null conditional

b = something?.Value;

Als something null is, wordt b null. Anders de .Value in b stoppen

Reken Operators

Double d; int h; a = d - h;

Bitwise

Overloading

OO

Acces modifiers

Public

Te bereiken binnen en buiten de assembly

Protected Internal

Hetzelfde als internal, maar ook zichtbaar voor derived classes buiten de assembly

Internal

Te bereiken binnen de assembly

Protected

Te bereiken vanuit eigen en derived classes

Private

Te bereiken vanuit eigen class

Constants

Het const keyword bestaat niet daadwerkelijk in IL . De waarde wordt compile-time overal letterlijk in gezet.

Composition over inheritance

Het is niet fijn om van concrete classes af te leiden

Constructors

Field vs Property

Default waardes