比如:
int i;
int.TryParse("123", out i);
在6.0里可以写成(文档)
int.TryParse("123", out int i);
但实际却报告语法错误。
请问:
这个是本身不支持还是VS要配置?
更新vs了吗
14.0.25123 update 2
刚看了有UPDATE 3,不会要UPDATE 3才支持吧?
@519740105: update 3 是 C#7.0 的
@seayxu: 诶,6.0都没搞懂,7.0又来了!
我说的这个问题要7.0?
@519740105: 是的,这是7.0支持的
@seayxu: 一直说是c#6.0的。先更新了。
@seayxu: 更新到UPDATE 3,还是报告语法错误
@519740105: vs2015 目前不支持, Visual Studio “15” Preview 4(vs2017) 开始支持的。
What’s New in C# 7.0
@seayxu: update 3应该更新吧?
@519740105: 没有
@seayxu: 还好,这个只是一时兴起的。
vs要支持吧
没搞懂是什么问题。
项目是基于 4.6.1的,VS是2015的
居然有这种写法~~,试问怎么把 i 传递出去~~
string Fun(out int i, int a = 0),如果能省略写成你那样,(而且写成你那样了作用域也不一样)我还真想不明白怎么把a给出去;
哈哈,你奥特了吧。
只是少写了一行语句而已,后面可以直接使用这个out的变量。
@519740105: 作用域我相信可以编译前解释时通过out识别,但就作用域这个语法上而言是不合理的。
看看6 的特性,http://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Home;
没看到这项,我也没用过这项;我去注释了一行测试——当然肯定直接语法错误;
6特性中明确其他上面连接的特性都用过,因此可以证明我的vs 2015支持6,独独不支持你说的这项.
@花飘水流兮: 很早就说是6.0的特性,也一直没使用过,昨天使用发现语法错误。
现在在更新UPDATE 3
@519740105: 我就是update 3,尝试如下方案皆不行
1.更新项目build中高级中的设置为6.0
2.nuget Microsoft.CodeDom.Providers.DotNetCompilerPlatform,更改config文件
vs code,写了倒没报错,但没去编译,因此不清楚是否有问题。
@Daniel Cai: 哈,我刚更新到UPDATE3,一样的问题。
VS 2017支持这个语法。