C#??运算符可能是一个被遗忘的运算符,很少看到有人用它,它的用法很简单却很实用:
variable ?? defaultValue
相当于
variable == null ? defaultValue : variable
有了它,一行便能搞定Lazy Evaluation了:
对于C#??运算符使用之前:
- public UserAccess Users
- {
- get
- {
- if (_users == null)
- {
- _users = Proxy.GetQueryObject﹤UserAccess﹥();
- }
- return _users;
- }
- }
对于使用C#??运算符之后:
- public UserAccess Users
- {
- get
- {
- return _users ?? (_users = Proxy.GetQueryObject﹤UserAccess﹥());
- }
- }
注:这个运算符只支持引用类型和Nullable类型。
C#??运算符的基本情况就向你介绍到这里,希望你对C#运算符中??有所了解。
【编辑推荐】