在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与System相同。Int32,当编译时,它将在CIL中变成相同的东西。
我们在c#中按照惯例使用int,因为c#希望看起来像C和c++(以及Java),这就是我们在那里使用的……
顺便说一句,我最终使用的是系统。Int32时声明各种Windows API函数的导入。我不确定这是否是一个定义的约定,但它提醒我,我要去一个外部DLL…
int和Int32是一样的。int是Int32的别名。
你不应该关心大多数编程语言,除非你需要编写非常特定的数学函数,或者针对特定架构优化的代码……只要确保类型的大小足够你(例如,如果你知道你需要超过32位,就使用比Int更大的类型)
还要考虑Int16。如果你需要在应用程序的内存中存储一个Integer类型,并且你关心使用的内存量,那么你可以使用Int16类型,因为它使用的内存更少,并且比Int32类型的最小/最大范围更小(这就是int类型)。
int和Int32之间没有区别,但由于int是一个语言关键字,许多人在风格上更喜欢它(就像string vs string)。
推荐文章
- 如何返回一个文件(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?
- 为什么更快地检查字典是否包含键,而不是捕捉异常,以防它不?