Cuprins:
Definiție - Ce înseamnă IS Operator?
Operatorul IS, în C #, este un operator folosit pentru a verifica dinamic dacă un obiect este compatibil cu un tip dat.
În timp ce lucrăm cu tipuri de referință care implică tipuri de bază și derivate, devine esențial să aruncăm obiectul tipului de bază la tipul derivat și apoi să apelăm la metodă. În cazul în care distribuirea simplă de la bază la tip derivat nu are succes, are ca rezultat aruncarea unei excepții. Operatorul is este utilizat pentru a testa succesul operațiunii de turnare fără a provoca o excepție. Este un operator eficient. Nu numai că verifică distribuția sigură și reușită a unui obiect, dar, de asemenea, obține valoarea distribuită pe o distribuție reușită. Cu toate acestea, este utilizat deseori în cod pentru a determina tipul unui obiect, fără a fi necesară o operație de distribuție.
Deoarece operatorul is întoarce întotdeauna valoarea booleană (adevărată sau falsă) după operația de distribuție și nu aruncă niciodată o excepție, este extrem de fiabil să fie utilizat într-un cod de aplicație. În plus, permite verificarea tipului unui obiect cu un tip dat într-o manieră mai simplă, ceea ce reduce dimensiunea codului și efortul de dezvoltare.
Techopedia explică Operatorul IS
Operatorul is este un operator de testare de tip cu doi parametri, care includ o expresie de tip de referință. Tipul de referință trebuie verificat pentru conversie și tipul de destinație la care trebuie trimisă expresia. Operatorul is returnează true dacă expresia dată care reprezintă obiectul nu este nulă și expresia reușește să se lanseze la tipul specificat. În caz contrar, se returnează fals.
Operatorul is nu poate fi supraîncărcat pentru a furniza o altă semantică. Poate fi utilizat pentru verificarea conversiilor de referință, a boxului și a unboxing-ului, dar nu și pentru conversiile definite de utilizator. Deși compatibilitatea tipului expresiei este evaluată la timpul de execuție, compilatorul C # generează un avertisment în timpul compilării atunci când operatorul is este utilizat pentru tipuri care nu sunt compatibile.
De exemplu, operatorul is poate fi utilizat pentru a verifica dacă parametrul trecut la o metodă este de tip, Student sau tipul său derivat, în cazul în care Student este un tip folosit pentru a reprezenta informațiile referitoare la student într-o aplicație.
Operatorul is diferă de operatorul AS prin faptul că primul rezultă în două distribuții, în timp ce cel din urmă evită distribuția dublă la un singur pas și, prin urmare, se obține o performanță mai bună prin utilizarea ca operator.