如何从应该返回整数的函数中返回null

时间:2018-12-19 13:19:46

标签: c#

在一次采访中,有人问我如何从没有任何输出参数的整数,双精度类型等方法中返回Null。

3 个答案:

答案 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;
}