代码改变世界

??

2009-07-07 09:23  蜡笔小旧  阅读(187)  评论(0编辑  收藏  举报

看asp.net mvc 源代码的时候发现有多处??,例如:

    [ControlBuilder(typeof(ViewTypeControlBuilder))]
    [NonVisualControl]
    public class ViewType : Control {
        private string _typeName;

        [DefaultValue("")]
        public string TypeName {
            get {
                return _typeName ?? String.Empty;
            }
            set {
                _typeName = value;
            }
        }
    }
单问号我知道是三元运算符中的一个元素。??到底是干什么的列?
像,真像.
javascript 当中也有类似的功能。例:
var userName = tempName || "";
是不是很像 。
功能应该也是一样的。
回到主题??
return 的结果是如果_typeName为null的话,返回String.Empty.
相当于
if(_typeName == null)
{
	return String.Empty;
}
else
{
	return _typeName;
}

 

这样的代码是不是很不干净呢。