意思是什么?C#中的运算符用于属性

swi*_*ter 7 c#

可能重复:
?C#中的(可空)运算符

在System.Windows.Media.Animation中,我看到代码如下:

    public double? By { get; set; }
Run Code Online (Sandbox Code Playgroud)

那是什么?运营商在这做?有人知道吗?

我试图谷歌这个,但如果你不知道它的名字是什么,很难搜索运算符.我检查了操作员页面(http://msdn.microsoft.com/en-us/library/6a71f45d(v=vs.80).aspx)但是?运营商没有列在那里.

谢谢!

Kon*_*lph 18

?是一个类型装饰器.T?是相同的Nullable<T>,即可以为空的值类型.

属性文档By解释了为什么它在这里使用:

该属性控制A的DoubleAnimation进展; 但是By,您也可以设置FromTo属性(或其中之一)来控制动画进度,而不是设置属性.允许每个属性组合(除了ToBy),因此需要有一种方法来表示未设置属性- 因此它可以为空.

By如果要将值"动画"一定量,而不是指定起始值或结束值,请使用该属性.您也可以将该By物业与酒店一起使用From.


Tim*_*Tim 6

的?意味着它可以为空(该值可以设置为null.

可空类型(C#编程指南)