Inhoudsopgave:
Definitie - Wat betekent IS-operator?
De IS-operator, in C #, is een operator die dynamisch wordt gebruikt om te controleren of een object compatibel is met een bepaald type.
Tijdens het werken met referentietypes met basistypes en afgeleide typen, wordt het essentieel om het object basistype naar afgeleide type te casten en vervolgens de methode aan te roepen. In het geval dat de eenvoudige cast van base naar afgeleid type niet succesvol is, resulteert dit in het gooien van een uitzondering. De operator is wordt gebruikt om het succes van de castbewerking te testen zonder een uitzondering te veroorzaken. Het is een efficiënte operator. Het controleert niet alleen op de veilige en succesvolle cast van een object, maar haalt ook de castwaarde op voor een succesvolle cast. Het wordt echter vaak in de code gebruikt om het type van een object te bepalen zonder dat cast-bewerking vereist is.
Aangezien de operator is altijd de Booleaanse waarde (waar of onwaar) retourneert na de castbewerking en nooit een uitzondering genereert, is het zeer betrouwbaar om in een toepassingscode te worden gebruikt. Bovendien maakt het het mogelijk het type van een object met een bepaald type op een eenvoudiger manier te verifiëren, wat de codegrootte en ontwikkelingsinspanning vermindert.
Techopedia legt IS-operator uit
De operator is is een typetestoperator met twee parameters, waaronder een uitdrukking van een referentietype. Het referentietype moet worden gecontroleerd op conversie en het bestemmingstype waarnaar de uitdrukking moet worden gecast. De operator is retourneert true als de gegeven expressie die het object vertegenwoordigt niet null is en de expressie erin slaagt naar het opgegeven type te casten. Anders keert het onwaar terug.
De operator is kan niet worden overbelast om andere semantiek te bieden. Het kan worden gebruikt voor het controleren van referentie-, boks- en unboxing-conversies, maar niet voor door de gebruiker gedefinieerde conversies. Hoewel de compatibiliteit van het type van de uitdrukking tijdens runtime wordt geëvalueerd, genereert de C # compiler een waarschuwing tijdens het compileren wanneer de operator is wordt gebruikt op types die niet compatibel zijn.
De operator is kan bijvoorbeeld worden gebruikt om te controleren of de parameter die aan een methode wordt doorgegeven van het type Student of het afgeleide type is, waarbij Student een type is dat wordt gebruikt om de informatie met betrekking tot student in een toepassing weer te geven.
De is-operator verschilt van de AS-operator in die zin dat de eerste twee casts uitvoert, terwijl de laatste de dubbele cast in één stap vermijdt en dus betere prestaties worden bereikt door de operator as te gebruiken.

