C# is a typed language, and generally requires explicit casting when moving between types. But one language feature, implicit conversion, allows you to implicitly move between types. It's a handy feature that probably shouldn't be overused.
Every C# developer uses the built in types; string, bool or int. But there also exists another set of types, String, Boolean and Int32. What's the difference? Which one should you use? Lets explore how C# namespaces resolve types and examine C#'s alias types.