Can you please explain the difference between explicit and implicit type casts?
Explicit from MSDN -
If a conversion operation can cause exceptions or lose information, you should mark it explicit. This prevents the compiler from silently invoking the conversion operation with possibly unforeseen consequences.
Implicit from MSDN -
if the conversion is guaranteed not to cause a loss of data