【问题标题】:What does a questionmark (?) mean in a function declaration in C# [duplicate]C# 函数声明中的问号 (?) 是什么意思 [重复]
【发布时间】:2012-01-10 11:48:32
【问题描述】:

可能重复:
What does “DateTime?” mean in C#?
What does the ? mean after a type?

我有一个函数声明,在数据类型之后包含一个问号,例如:

private TimeSpan? sometime()
{

}

这是什么意思?

【问题讨论】:

  • 是的,它等于 Nullable

标签: c# syntax nullable


【解决方案1】:

TimeSpan? 是System.Nullable<TimeSpan> 的简写。

TimeSpan 是一种值类型,不能采用 null 值。通过将其包裹在System.Nullable<> 中,它可以是null。如果没有 ?,从函数返回 null 是非法的。

【讨论】:

    【解决方案2】:

    Nullable Structure

    表示一个对象,其基础类型是一个值类型,可以 也像引用类型一样被赋值为 null。

    你可以写TimeSpan?,而不是Nullable<TimeSpan>。

    【讨论】:

      【解决方案3】:

      Nullable,即值类型可以为空。

      【讨论】:

        【解决方案4】:

        表示值类型是nullable type

        【讨论】:

          【解决方案5】:

          基本上它是一个可以为空的时间戳。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-12
            • 2022-06-19
            • 1970-01-01
            • 2010-09-19
            相关资源
            最近更新 更多