Wann müssen wir implizite und explizite Operatoren in C #?
Frage
Was ist die Verwendung dieser Operatoren?
Lösung
Im Grunde genommen, wenn Sie Konvertierungen zwischen verschiedenen Arten zur Verfügung stellen möchten. LINQ to XML bietet gute Beispiele ... Es gibt eine implizite Konvertierung von String in XName, so können Sie schreiben:
XName name = "element";
aber es gibt eine explizite Umwandlung von XAttribute
zu int
(und vielen anderen Arten), so dass Sie eine Besetzung im Code enthalten müssen:
int value = (int) element.Attribute("age");
Denken Sie sehr sorgfältig, bevor implizite Konvertierungen bietet - sie sind selten eine gute Idee; LINQ to XML nutzt sie, um große Wirkung, aber sie können verwirrend sein. Auch explizite benutzerdefinierte Konvertierungen können die unachtsamen Leser überraschen.
Andere Tipps
Sie werden verwendet, wenn Operator zu überlasten. Hier ist ein Link zu einem MSDN-Artikel .