在c#中,int和Int32是同一个东西,但我读过很多次int比Int32更受欢迎,没有给出原因。这是有原因的吗,我应该在意吗?
当前回答
这两者确实是同义的;int看起来会更熟悉一些,Int32让那些阅读你的代码的人更清楚地看到32位。我倾向于在我只需要“一个整数”的地方使用int,在大小很重要的地方使用Int32(密码代码,结构),这样未来的维护者就会知道在适当的情况下扩大int是安全的,但应该注意以同样的方式改变Int32。
结果代码将是相同的:区别纯粹是可读性或代码外观。
其他回答
曾经,int数据类型与编译器目标机器的寄存器大小挂钩。例如,16位系统的编译器将使用16位整数。
然而,谢天谢地,我们已经很少看到16位了,当64位开始流行时,人们更关心的是使它与旧软件兼容,32位已经存在了很长时间,对于大多数编译器来说,int只是假设为32位。
这两者确实是同义的;int看起来会更熟悉一些,Int32让那些阅读你的代码的人更清楚地看到32位。我倾向于在我只需要“一个整数”的地方使用int,在大小很重要的地方使用Int32(密码代码,结构),这样未来的维护者就会知道在适当的情况下扩大int是安全的,但应该注意以同样的方式改变Int32。
结果代码将是相同的:区别纯粹是可读性或代码外观。
根据我的经验,这是一种惯例。我不知道在Int32上使用int的任何技术原因,但它是:
打字更快。 对于典型的c#开发人员来说更加熟悉。 默认visual studio语法高亮显示的不同颜色。
我特别喜欢最后一个。:)
前一段时间,我在微软做一个项目,当时微软。net CLR产品团队的人来拜访我们。这个人编写了例子,当他定义变量时,他使用“Int32”与“int”和“String”与“String”。
我记得在微软的其他示例代码中见过这种样式。所以,我做了一些研究,发现每个人都说“Int32”和“int”之间没有区别,除了语法着色。事实上,我发现很多材料都建议您使用“Int32”使您的代码更具可读性。所以,我采用了这种风格。
前几天我确实发现了不同!编译器不允许你使用" Int32 "输入enum,但当你使用" int "时,它允许你输入enum。别问我为什么,因为我还不知道。
例子:
public enum MyEnum : Int32
{
AEnum = 0
}
这个作品。
public enum MyEnum : int
{
AEnum = 0
}
取自:Int32符号vs. int
int可以保存的字节数取决于你编译它的目的,所以当你为32位处理器编译程序时,它可以保存从2^32/2到-2^32/2+1的数字,而为64位编译时,它可以保存从2^64/2到-2^64/2+1的数字。Int32总是包含2^32个值。
编辑:忽略我的回答,我没有看到c#。我的答案是针对C和c++的。我从来没用过c#
推荐文章
- 如何返回一个文件(FileContentResult)在ASP。净WebAPI
- 如何在使用ASP时更改表名。净身份?
- 在Visual Studio中设置“首选32位”的目的是什么?它实际上是如何工作的?
- 在c#中从URI字符串获取文件名
- 检查SqlDataReader对象中的列名
- 如何将类标记为已弃用?
- c# 8支持。net框架吗?
- Linq-to-Entities Join vs GroupJoin
- 为什么字符串类型的默认值是null而不是空字符串?
- 在list中获取不同值的列表
- 组合框:向项目添加文本和值(无绑定源)
- 如何为ASP.net/C#应用程序配置文件值中的值添加&号
- 从System.Drawing.Bitmap中加载WPF BitmapImage
- 如何找出一个文件存在于c# / .NET?
- 为什么更快地检查字典是否包含键,而不是捕捉异常,以防它不?