Veuillez dire quelle est la différence entre is
et as
mot-clé en C#
Réponse
Trop de publicités?
Sandeep Reddy
Points
11
IS et AS sont tous deux utilisés pour le moulage de type sûr.
Mot-clé IS--> vérifie si le type d'un objet donné est compatible avec le nouveau type d'objet. Il ne jette jamais d'exception. Il s'agit d'un type booléen qui renvoie soit vrai, soit faux.
`student stud = new student(){}
if(stud is student){} // It returns true // let say boys as derived class
if(stud is boys){}// It returns false since stud is not boys type
//this returns true when,
student stud = new boys() // this return true for both if conditions.`
AS Mot clé : vérifie si le type d'un objet donné est compatible avec le nouveau type d'objet. Il renvoie une valeur non nulle si l'objet donné est compatible avec le nouveau type, sinon une valeur nulle. Ce mot-clé lève une exception.
`student stud = new student(){}
// let say boys as derived class
boys boy = stud as boys;//this returns null since we cant convert stud type from base class to derived class
student stud = new boys()
boys boy = stud as boys;// this returns not null since the obj is pointing to derived class`
- Réponses précédentes
- Plus de réponses
7 votes
Est-ce que c'est comme ça ou est-ce que c'est comme ça ? blogs.msdn.com/b/ericlippert/archive/2010/09/16/
3 votes
Si ce sujet vous intéresse, vous voulez probablement aussi savoir quelle est la différence entre les opérateurs "as" et "cast" : blogs.msdn.com/b/ericlippert/archive/2009/10/08/
0 votes
@EricLippert Ce lien est maintenant rompu.
1 votes
@MaxBarraclough : Merci pour la note ; Microsoft a plusieurs fois maintenant déplacé les archives de mon blog sans faire de liens de redirection. J'ai fait une copie de l'article original dans le premier commentaire ici : ericlippert.com/2010/09/16/is-is-as-or-is-as-is . Je posterai un lien vers le second dans un commentaire ultérieur.
0 votes
@MaxBarraclough : Le lien mis à jour pour le second est : ericlippert.com/2009/10/08/ -- Merci encore.