My question is, notice that we can cast an int to a double (upcasting) or cast a double to an int (downcasting). But why can't we cast a string representing a number into an it? Why in such cases we should use the Convert.ToInt method?
What is the difference between casting and convert?