I\'ve read a few related questions regarding this topic however none of them are making sense to me. As I understand it, in some cases you can use cast and parse interchangeably
You generally use Parse() on a string whose value represents a valid value of the type to which you are converting.
Casting, on the other hand, is better used when you have an object of a derived type but stored in a base variable, and need to use it as its more specific type.
That is, if you have "1234" you can Parse() that into an int. But if you have
object variable = 1234;
You should cast it to get it back as an int.