I am learning with C# 7.0 in a Nutshell 7th edition. There is a portion of the text that I could not understand (page 24 & 25)
"Implicit conversions are allowed when both of the following are true:
1) The compiler can guarantee they will always succeed.
2) No information is lost in conversion. (A minor caveat is that very large long values lose some precision when converted to double)
Conversely, explicit conversions are required when one of the following is true:
1)The compiler cannot guarantee they will always succeed.
2)Information may be lost during conversion."
If the compiler can determine that a >conversion will always fail, both kinds of conversion are prohibited"
Can you give me examples for when the compiler cannot guarantee conversion ?