例
public class ClassA
{
public ClassA(string someString){}
}
public class ClassB : ClassA
{
public ClassB(string someString):base(someString.ToLower()){}
}
Run Code Online (Sandbox Code Playgroud)
我调用继承的ClassB构造函数.我传入null.ToLower()在null上抛出异常.我希望在此之前检查null.我怎样才能做到这一点?
简单.使用null-coalescing运算符:
public ClassB(string someString) :
base((someString ?? "").ToLower())
{
}
Run Code Online (Sandbox Code Playgroud)
或使用三元运算符
public ClassB(string someString) :
base(someString == null ? "" : someString.ToLower())
{
}
Run Code Online (Sandbox Code Playgroud)
更好的是,我建议你添加一个no-arg constuctor ClassB,它会调用base(string.Empty).
试试这个:
base(someString == null ? string.Empty : someString.ToLower())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |