在c#中,int和Int32是同一个东西,但我读过很多次int比Int32更受欢迎,没有给出原因。这是有原因的吗,我应该在意吗?
当前回答
int是c#语言中System的快捷方式。Int32
虽然这确实意味着微软可能会改变这种映射,但FogCreek讨论的一篇文章指出[来源]
“关于64位的问题——微软确实在开发64位版本的。net框架,但我很确定int不会在该系统上映射到64位。
原因:
1. c# ECMA标准明确规定int是32位,long是64位。
2. 微软在框架1.1版本中引入了额外的属性和方法,返回长值而不是int值,例如Array。除了Array.GetLength之外的GetLongLength。
所以我认为可以肯定地说,所有内置的c#类型都将保持当前的映射。”
其他回答
你不应该在意。如果大小是一个问题,我会使用字节,短,int,然后长。使用int型比int32大的唯一原因是需要一个大于2147483647或小于-2147483648的数。
除此之外,我不在乎,还有很多其他的事情需要关心。
我知道最好的做法是使用int,所有MSDN代码都使用int。然而,据我所知,除了标准化和一致性之外,没有其他原因。
你不应该在乎。大多数时候你应该使用int。它将有助于将来将程序移植到更广泛的体系结构(目前int是System的别名。Int32,但这可能会改变)。只有当变量的位宽很重要时(例如:要控制结构体在内存中的布局),才应该使用int32和其他变量(与"using System;"相关联)。
我总是在定义变量时使用别名类型(int, string等),在访问静态方法时使用真实名称:
int x, y;
...
String.Format ("{0}x{1}", x, y);
看到像int.TryParse()这样的东西似乎很难看。除了风格,我这么做没有别的原因。
这两者确实是同义的;int看起来会更熟悉一些,Int32让那些阅读你的代码的人更清楚地看到32位。我倾向于在我只需要“一个整数”的地方使用int,在大小很重要的地方使用Int32(密码代码,结构),这样未来的维护者就会知道在适当的情况下扩大int是安全的,但应该注意以同样的方式改变Int32。
结果代码将是相同的:区别纯粹是可读性或代码外观。
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 如何转换列表<字符串>列表<int>?
- c#对象列表,我如何得到一个属性的和