Does implicit operator have higher priority over ToString() method? [duplicate]
This question already has an answer here : Order of implicit conversions in c# (1 answer) Closed 12 months ago . Consider the following code: public class Test { public static implicit operator int(Test t) { return 42; } public override string ToString() { return "Test here!"; } } var test = new Test(); Console.WriteLine(test); // 42 Console.WriteLine((Test)test); // 42 Console.WriteLine((int)test); // 42 Console.WriteLine(test.ToString()); // "Test here!" Why in the first three cases we have answer 42 even if we explicitly cast to Test ? Does implicit operator have higher priority over