Manual de C #, relații supraîncărcarea operatorului și a operatorilor logici

C # pentru C # --- --- Ghid Supraîncărcarea relații și operatori logici

supraîncărcarea relații

Operatorii relationali, cum ar fi == și <, могут также перегружаться, причем очень просто. Как правило, перегруженный оператор отношения возвращает логическое значение true и false. Это вполне соответствует правилам обычного применения подобных операторов и дает возможность использовать их перегружаемые разновидности в условных выражениях. Если же возвращается результат другого типа, то тем самым сильно ограничивается применимость операторов отношения.

Rețineți că relația supraîncărcarea operatorului impune următoarele restricții importante: acestea trebuie să fie supraîncărcat în perechi. Deci, în cazul în care operatorul supraîncărcat <, то следует перегрузить и оператор>, și vice-versa. Mai jos sunt redactate într-o pereche de operatori relaționale supraîncărcate:

Și încă o notă: dacă supraîncărcat == și =, atunci acest lucru este, de obicei, de asemenea, necesară pentru a trece peste metode Object.Equals () și Object.GetHashCode ().

Operatorii Supraîncărcarea adevărat și fals

Cuvintele cheie adevărate și false pot fi, de asemenea, folosite ca operatori unari în scopuri de manipulare. Versiunile supraincarcate ale acestor operatori permit să identifice scopul cuvinte cheie adevărate și false în mod special pentru clasele generate. După o supraîncărcare de cuvinte-cheie ca operatori unari pentru o anumită clasă, este posibil să se utilizeze obiecte din această clasă pentru a controla dacă operatorii, în timp ce, pentru, și de a face-în timp ce sau într-o expresie condițională.

Operatorii de adevărat și fals trebuie să fie supraîncărcat în perechi, și nu separat. Mai jos este forma generală a unei suprasarcini a operatorilor unari:

Rețineți că, în acest lucru și într-un alt caz returnează un rezultat bool. Să actualizeze exemplul anterior și se adaugă supraîncărcarea operatorului adevărat și fals: