使用int16有什么好处?而不是.net变量声明中的int16?

时间:2011-04-30 08:03:36

标签: .net variables nullable

  

可能重复:
  C# - Basic question: What is '?' ?

使用int16有什么好处?而不是在.net变量声明中使用int16?

dim i as int16?
dim i as int16

3 个答案:

答案 0 :(得分:5)

它允许您具有“null”值。通用示例:

public int MyFunction(int? x)
{
    int m = 99;

    if(x == null)
        m = 0;
    else
        m /= x.Value;

    return m;
}

否则,如果尝试将空值传递给MyFunction,编译器将返回错误。

答案 1 :(得分:1)

答案 2 :(得分:1)

这不是关于“利益” - 它是关于代表一些微妙的不同; Int16?实际上只是Nullable<Int16>的简写,这意味着它除了常规Int16范围外还能够表示空/空状态。但缺点是需要更多空间。因此,如果空间效率是您的目标(主要仅在阵列中有意义等),您可能需要仔细思考。