57

我知道它们是相同的变量类型,但是是否有一个公认的标准“风格”来使用longor Int64

我想使用最常见的一种。

4

6 回答 6

78

来自 Microsoft 的所有文档以及您在网上找到的 99.999%(左右)的代码都将使用long. 例如,请参阅 C# 参考中的数字数据类型定义:http: //msdn.microsoft.com/en-us/library/exx3b86w.aspx

最后,这与使用stringor是相同的问题String。通常,小写名称用于数值数据类型,如数字或字符,而大写名称用于类。在 C#Int64中是值数据类型的复杂数据类型(具有字段、属性和方法的结构,请参阅此处的文档) (请参阅此处long的文档)。通常,人们不会将该类用于调用该类中的方法以外的其他用途,例如. 所以你通常会发现这样的东西:Int64Int64.Parse

long variable = 9.5f;
string text = "8.4";
long anotherVariable = Int64.Parse(text);
于 2013-04-22T17:19:55.967 回答
16

对于这样的问题,您会得到很多不同的意见,因为它们是完全相同的。所以这取决于你。Microsoft 几乎总是在他们的文档和示例中使用long,int和。short它只是 VB.NET 和 C# 中的别名。所以我想以这种方式使用它们会更好。

  • long 代替Int64
  • int 代替Int32
  • short代替Int16
于 2013-04-22T17:18:37.370 回答
5

C# 使用这些关键字(如 long、int string)作为 .NET 类型的别名。

  • int=System.Int32
  • long=System.Int64
  • string=System.String

使用这些关键字的第一个参数是它是语言自带的,所以在编写语言时使用它。

使用这些关键字的第二个参数是您不必放在代码文件using System;之上。

另一个好处可能是有人可以创建一个名为的新类型Int64并将其放在您的命名空间中的某个位置(我知道......这会很疯狂)。如果您的旧代码使用 type Int64,您的旧代码可能会停止运行。如果您的旧代码正在使用long(的别名System.Int64),那么它仍然可以正常工作。

于 2013-04-22T17:26:42.423 回答
3

您应该使用long,intshort

我知道的一个例外是函数名。看看BitConverter.ToInt64

原因是CIL中没有定义 long而 int64 是。

于 2013-04-22T17:31:34.730 回答
1

我认为这归结为清晰度与兼容性。Int16,Int32Int64short,int和更清晰long。你只要看一下它就知道Int16它的长度是 16 位。

于 2013-04-22T17:23:04.977 回答
0

我认为在大多数情况下,这将归结为个人喜好,但如果您在没有指定底层平台的情况下严格谈论“C#”,我的想法会有所不同。如果您正在开发以遵守跨平台可移植性和“面向未来”的 C# 标准,那么“long”将是最好的方式,因为它是语言本身的实际构造。“Int64”是框架中的一个实际结构(System.Int64)。

于 2013-04-22T17:26:31.117 回答