Source code for the following article for implicit and explicit conversions (C#)
User-defined explicit and implicit conversion operators
A conversion causes an expression to be converted to, or treated as being of, a particular type; in the former case a conversion may involve a change in representation. Conversions can be implicit or explicit, and this determines whether an explicit cast is required.