What is the actual difference between a long and an int in C#? I understand that in C/C++ long would be 64bit on some 64bit platforms(depending on OS of course) but in C# it's all running in the .NET runtime, so is there an actual distinction? 
Another question: can an int hold a long(by cast) without losing data on all platforms?
 
     
     
     
     
     
    