关于C#:什么是long数据类型?

What is 'long?' data type?

我正在复习另一个开发人员编写的一些代码,不确定long?的意思是:

1
2
3
4
5
6
7
protected string AccountToLogin(long? id)
{
   string loginName ="";
   if (id.HasValue)
   {
      try
      {....

longInt64相同

长数据类型

?表示可以为空。

A nullable type can represent the
normal range of values for its
underlying value type, plus an
additional null value

可空类型

可以为空的示例:

1
2
3
4
5
6
7
8
9
int? num = null;
if (num.HasValue == true)
{
    System.Console.WriteLine("num =" + num.Value);
}
else
{
    System.Console.WriteLine("num = Null");
}

这允许您实际检查null值,而不是尝试将任意值赋给某个对象以检查某个对象是否失败。

我在这里写了一篇关于这个的博客。


long是一个int64,?使它可以为空。


长?是64位可为空的整数。

要澄清,可以为空意味着它可以为空或整数(0、1等)。


"长?"是可为空的64位有符号整数。相当于Nullable


long?是可以为空的类型。这意味着id参数可以具有长值,也可以设置为null。查看该参数的HasValueValue属性。


它是一个可以为空的类型声明。