在VS2015预览版中使用C#6.0,我们有一个新的运算符,?.可以像这样使用:
public class A {
string PropertyOfA { get; set; }
}
...
var a = new A();
var foo = "bar";
if(a?.PropertyOfA != foo) {
//somecode
}
Run Code Online (Sandbox Code Playgroud)
它到底是做什么用的?
我正在阅读.Net书籍,在其中一个代码示例中,有一个带有此字段的类定义:
private DateTime? startdate
Run Code Online (Sandbox Code Playgroud)
什么DateTime?意思?
我有1个不可空的日期时间字段和1可以为空的日期时间字段.我可以使用以下代码与非可空的代码:
c.StartDate.Day.ToString() + "/" +
c.StartDate.Month.ToString() + "/" +
c.StartDate.Year.ToString()
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用可空的那个时,我得到错误:
'System.Nullable'不包含'Day'的定义,并且没有扩展方法'Day'接受类型'System.Nullable'的第一个参数可以找到(你是否缺少using指令或汇编引用?)
如何获得可以为空的日期时间的日,月,年?