在一次采访中,有人问我如何从没有任何输出参数的整数,双精度类型等方法中返回Null。
答案 0 :(得分:4)
您可以执行以下操作。
您必须首先使int
类型为可空。通过使用int?
通常,c#中的int
数据类型默认情况下不可为空,因此您必须将int //not nullable
类型显式转换为int? //nullable
您可以使用double等执行相同的操作。
// the return-type is int?. So you can return 'null' value from it.
public static int? method()
{
return null;
}
您还可以通过这种方式编写上述方法:
// this is another way to convert "non-nullable int" to "nullable int".
public static Nullable<int> method()
{
return null;
}
答案 1 :(得分:0)
如果目的是从返回类型为int的函数中返回空值,则可以执行以下操作:
public static int method()
{
Nullable<int> i = null;
if (!i.HasValue)
throw new NullReferenceException();
else
return 0;
}
public static void Main()
{
int? i = null;
try
{
i = method();
}
catch (NullReferenceException ex)
{
i = null;
}
finally
{
// null value stored in the i variable will be available
}
}
答案 2 :(得分:-1)
您必须将返回类型声明为可为null的int。这样,您可以返回Int或null。请参见下面的示例:
private int? AddNumbers(int? First, int? Second)
{
return First + Second;
}