Какова фактическая разница между long и int в С#? Я понимаю, что в C/С++ long будет 64-битным на некоторых 64-битных платформах (в зависимости от ОС, конечно), но на С# все работает в среде выполнения .NET, так есть ли реальное различие?
Другой вопрос: может ли int провести a long (by cast) без потери данных на всех платформах?