如果返回类型是例如char,如何返回0

Xyz*_*Abc 2 c# types return-type

我想知道如果函数中的if条件不为真,在C#中我可以返回0.

char Foo(int a)
{
    if(a>0)
        return 'a';
    else
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

这显示错误,因为我不能像这样返回0.

当然我可以做点什么

const char NULL = 'b';
Run Code Online (Sandbox Code Playgroud)

但我希望有更好的解决方案.有任何想法吗?

Vla*_*lad 7

让它可以为空.

char? Foo(int a)
{
    if(a>0)
        return 'a';
    else
        return null;
}
Run Code Online (Sandbox Code Playgroud)

这样,你要么得到一个有效的char,要么a null,所以你可以区分这两个没有歧义的情况.