There isn't. In fact, you cannot define both an implicit an explicit conversion operator for the same conversion. It is a compile time error:
public class Foo
{
public static implicit operator Foo(string value)
{
Console.WriteLine("implicit");
return null;
}
public static explicit operator Foo(string value)
{
Console.WriteLine("Explicit");
return null;
}
}
It gives the error of:
Duplicate user-defined conversion in type
...
If you define an implicit conversion you can write out an explicit conversion and it will use the implicit conversion's code to do the conversion, but there is no way of defining code for an implicit conversion and and explicit conversion that do different things.