Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么是可空<;T>;?`?_C#_Nullable - Fatal编程技术网

C# 什么是可空<;T>;?`?

C# 什么是可空<;T>;?`?,c#,nullable,C#,Nullable,我输入了一个错误,Visual Studio没有将其标记为错误: void方法(可空?font=null){} font在输出中显示为SpriteFont??。我刚才做了什么 UPD:对不起,各位,我没有尝试共同编译它,只是在编译之前没有显示为错误。不过,它在输出中看起来像Type???,这还是很奇怪的 此外,SpriteFont已经可以为空,所以我还是会得到一个错误:(我刚才在这里试过了……我无法重现你说的话 以下所有语句都无法编译: Nullable?a=1; Nullable b=1;

我输入了一个错误,Visual Studio没有将其标记为错误:

void方法(可空?font=null){}

font
在输出中显示为
SpriteFont??
。我刚才做了什么

UPD:对不起,各位,我没有尝试共同编译它,只是在编译之前没有显示为错误。不过,它在输出中看起来像
Type???
,这还是很奇怪的


此外,
SpriteFont
已经可以为空,所以我还是会得到一个错误:(

我刚才在这里试过了……我无法重现你说的话

以下所有语句都无法编译:

  • Nullable?a=1;
  • Nullable b=1;
  • Nullable a=1;
  • void A(可为空的A)
  • void A(可为空?A)
  • void A(可为空的A)

使用Visual Studio 2012、C#4或5,我认为,.Net framework 4.5。

编辑器的语法检查器未能将其标记为带有红色波形的错误,而不是编译器


两个不同的代码块。它们必须是,当您键入代码时,语法检查代码,本质上总是被破坏的,需要一种非常不同的方法。

您将字体定义为可空字体。我认为接受空值的类型不能被设为可空……就像类一样。@manman:将其作为一个例子answer@Miguel安杰洛:有
没有
泛型约束的谓词?如果不是-如何约束它?
Nullable
struct是一种特殊类型…它由C#编译器和CLR以不同的方式处理。@Vulcan:不,我认为这是一个答案,因为问题看起来是错误的。@Vulcan:错误的问题或错误的语句不存在答案…只是反例。这实际上是一个答案。当答案基本上说“我不知道你是怎么做到的”时,问题通常是问题:)这是唯一的解释!这也意味着问题是在没有实际编译代码的情况下提出的。