我有这个功能:

public bool GetBoolSetting(Settings setting)
{
    return int.Parse(GetStringSetting(setting)) == 0 ? false : true;
}

存在一个问题,即 GetStringSetting(setting) 可以返回 null"0""1" 。当它返回 null 时,我得到一个异常。

如果发生这种情况,我是否可以让 GetBoolSetting 函数返回 null?

最佳答案

您可以将方法的类型更改为 Nullable<bool> 并继续执行如下所示的一个线性语句:

public bool? GetBoolSetting(Settings setting)
{
    return GetStringSetting(setting) != null ?
           int.Parse(GetStringSetting(setting)) != 0 : new bool?();//Or default(bool?)
}

您还可以使用 default(bool?) 而不是 new bool?() ,它返回 Nullable bool 的默认值为 null。

关于c# - 如何从函数返回 null 或 bool,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44986924/

10-16 09:49