When must we use implicit and explicit operators in C#?
Question
What is the usage of these operators?
Solution
Basically when you want to provide conversions between types. LINQ to XML provides good examples... There's an implicit conversion from string to XName, so you can write:
XName name = "element";
but there's an explicit conversion from XAttribute
to int
(and many other types) so you have to include a cast in your code:
int value = (int) element.Attribute("age");
Think very carefully before providing implicit conversions - they're rarely a good idea; LINQ to XML uses them to great effect, but they can be confusing. Even explicit user-defined conversions can surprise the unwary reader.
OTHER TIPS
They are used when doing operator overloading. Here's a link to a MSDN article.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow