如果我明白,一个int-variable是32位的节省,把它限制在20亿到20亿的东西.但是,如果我使用一个长变量,它将保存在64位,允许存储更多的数字.我坐在64位系统上,但是如果我将数据存储在64位,我的代码是否能在32位系统上运行良好?
谢谢!
解决方法
你不担心吗long值将存储在2个内存地址中. Int64 / long将始终为64位,Int32 / int将始终为32位.
有一些含义(关于内存空间和性能),但最引人注目的是,写/读操作在32位系统上不会是原子的,但是你不应该期望它们是原子的,因为c#规范没有这样的保证.
无论哪种方式,关键是:这不是你应该担心的 – CLR将这些东西摘下来.使用最适合您的类型.