0

嘿,只是为了好奇..如果我有一个返回类型为 nullable int 的方法:int?当我调用该方法时,我可以通过 2 种方式进行调用: var v=method(); 还有方法()。

有人可以给我一些论据,为什么第二种情况是可能的?这是因为可空类型?还是 .NET Framework 4 的某些功能?

谢谢你

4

1 回答 1

0

开始

T?是泛型类的简短表示Nullable<T>

它是原始类型的包装器,因为它们不可为空。(char byte bool int float long double)

public Nullable<int> x; // x = null
public int x; // x = 0

你可以写长或短的方式。

public Nullable<int> x;
public int? x;

关于提问。

public int? getValue();

var x = getValue();
getValue(); // why is this allowed

因为它在任何语言的任何地方都是这样工作的。

于 2020-04-08T11:34:15.977 回答