Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢?
我怎样才能使用C#7?
Visual Studio 2017发布后,我想尝试使用新的C#7功能创建简单的控制台项目.我希望我只需下载新的Visual Studio 2017,然后创建新的控制台项目,并可以使用新的C#7功能.但我不能.
如果我安装NuGet包System.ValueTuple,我可以使用一些功能,如元组.
但对于其他功能,我不知道我需要做什么.例如这个NuGet问题.
我现在需要做所有这些脏安装吗?或者我可以用更简单的方式启用c#7功能?
所以我有一个IEnumerable<string>可以包含可以解析int为的值,以及不能的值.
如您所知,Int32.Parse如果字符串无法更改为int,则抛出异常,同时Int32.TryParse可用于检查并查看是否可以在不处理异常的情况下进行转换.
所以我想使用LINQ查询来解析那些可以解析为int的字符串,而不会抛出异常.我有一个解决方案,但希望社区提出有关这是否是最佳方法的建议.
这就是我所拥有的:
int asInt = 0;
var ints = from str in strings
where Int32.TryParse(str, out asInt)
select Int32.Parse(str);
Run Code Online (Sandbox Code Playgroud)
所以你可以看到,我正在使用它asInt作为调用的临时空间TryParse,只是为了确定是否TryParse会成功(返回bool).然后,在投影中,我实际上正在执行解析.那感觉很难看.
这是使用LINQ过滤单行中的可解析值的最佳方法吗?