我记得我在某个地方看过这个,但现在无法在Google结果中找到它。
最新的C#(VS2013)是否支持任何此类运营商?
SomeObject.?SomeMember = SomeValue;
仅当SomeValue
不为空时,才应将SomeObject.SomeMember
分配给SomeObject
。
N.B:我知道我们可以通过HasValue
和其他方式做到这一点。我只是询问新的运营商。
答案 0 :(得分:5)
它与Nullable
类型无关。它是null propagation operator并且适用于每个可以为空的类型,不仅适用于Nullable<T>
,引用类型为好。
最新的C#(VS2013)是否支持任何此类运营商?
如果您使用的是VS 2013或Visual Studio 14 CTP 3
,则可以安装Roslyn最终用户预览答案 1 :(得分:1)
它可以在Roslyn
编译器中使用,它名为Null-propagation - 它已经实现了。默认情况下,Roslyn编译器将在VS 14中提供。
答案 2 :(得分:0)
不,Visual Studio 2013不支持此类运算符。至少没有开箱即用。
如果您要使用null propagation operator或任何其他C# 6 feature,则必须安装并使用Roslyn的CTP。 Roslyn将是Visual Studio“14”的默认编译(我们还不知道它的确定名称)。