Arhiva de etichete: ReferenceEquals

A fi sau a nu fi nimeni și nimic

Odată cu tehnica numită pattern matching (căreia am să-ncerc să-i atribui traducerea verificare tipizată să văz cum se simte la limbaj) – o modalitate de-a verifica dacă o expresie întrunește anumite caracteristici (și de acționare pe baza rezultatului) – există o posibilitate mai apropiată de limbajul natural de-a testa dacă o variabilă are sau nu are valoarea NULL:

Company isNull = null;
Company isNotNull = new Company();

Console.WriteLine(isNull is null);
Console.WriteLine(isNotNull is not null);

Totuși, abordarea nu este complet identică din punct de vedere semantic cu folosirea operatorilor de egalitate (==), respectiv inegalitate (!=). La prima cercetare s-ar putea să pară contraintuitiv, însă, strict semantic, operatorul de egalitate verifică dacă-i egal, iar expresiile is/is not verifică dacă sunt ori nu sunt. Anumiți filozofi ar juisa până-n străfundul nădragilor.

Citește mai departe