views:

119

answers:

2

What is the usage of these operators?

+2  A: 

They are used when doing operator overloading. Here's a link to a MSDN article.

Richard Nienaber
+5  A: 

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.

Jon Skeet
Nearly most of the times I avoid using them as a library designer (unless I am sure they will not be misused and complained).
Lex Li