Quelle est l'utilisation de ces opérateurs?Quand devons-nous utiliser des opérateurs implicites et explicites en C#?
5
A
Répondre
10
Fondamentalement lorsque vous souhaitez fournir des conversions entre types. LINQ to XML fournit de bons exemples ... Il y a un implicite conversion de chaîne à XName, de sorte que vous pouvez écrire:
XName name = "element";
mais il y a une explicite conversion de XAttribute
à int
(et bien d'autres types) afin vous devez inclure un casting dans votre code:
int value = (int) element.Attribute("age");
Réfléchissez bien avant de fournir des conversions implicites - ils sont rarement une bonne idée; LINQ to XML les utilise très bien, mais ils peuvent être déroutants. Même les conversions explicites définies par l'utilisateur peuvent surprendre le lecteur non averti.
3
Ils sont utilisés pour operator overloading. Voici un lien vers un MSDN article.
Presque la plupart du temps, j'évite de les utiliser comme concepteur de bibliothèque (à moins que je ne sois sûr qu'ils ne seront pas mal utilisés et se plaindront). –