C#7和Visual Studio 2017的新功能

  1. 二进制文字

我要介绍的C#7的第一个功能称为二进制文字。 我们有一种表示二进制数的方法。 谢天谢地,整个系统都在二进制文件上运行,但是作为开发人员,我们无法在需要时利用这一点。 现在,我们可以。

下面,我们用一些易于转换的二进制数表示速度枚举。

这使我们的代码看起来可读,对吗? 对? 是的,不,但是让我们稍后再谈。

2.使用Intellisense将其分类为新文件

VS2017的第一个功能是我等待了很长一段时间的功能。 将类移到自己的文件中! 我的好朋友瓦拉达(Varada),当我们开始编写软件时,我总是在一个文件中编写小类。 我讨厌不得不回到那个文件并自己拆分文件。 现在,我的生活更轻松了。

该文件将与从中拆分类的根文件在同一封闭文件夹中创建。 不过,一旦到达该目录,您就可以手动将该类移到您想要的任何目录中。

3.文件重命名帮助

我向上帝保证我们在VS2017中具有此功能,但许多消息来源证明我错了。 因此,在这里,我们具有文件重命名功能,当您更改文件名时,该功能允许类名与文件名匹配。 向用户显示以下提示,并且在更新文件时还将更新所有关联的引用。

4.代码样式命名

VS2017现在提供支持,使您能够坚持自己不会使用的命名约定,而不仅仅是为了约定而命名约定。

在左侧,我们提供了支持性规范,您可能需要样式,也可以在代码库中声明其严重性。

现在,我明白了您为什么认为这是一个巨大的问题。 尽管它足以满足您的开发需求,但不能解决使所有开发人员都遵循一致且统一的样式的问题。 啊哈! 我们很快就会到达那里。

此其他功能只是同一件事的一部分。 有一些开发人员喜欢始终明确键入 ,因此他们绝对会喜欢这项新功能。 现在,您可以确定何时基于如下所示的一些规则显式键入或使用var。 这是一个非常不错的功能,但是我喜欢var,所以我不会使用它,那里还有其他东西,需要您自担风险。

5.堆栈预览

以下功能是一项有用的功能,尽管我不太经常遇到这种情况。 想象一下,我们有一个非常大的文件(哦,等等,没关系,我在这种情况下比我想象的要频繁得多),并且我们想查看我们正在写入的方法名称,甚至可能是什么名称空间。 现在,您无需滚动到最顶端来查找代码,而是烦人地失去了编写代码的位置,现在只需将鼠标移到代码的结构装饰上即可,如下所示。

结构装饰是您看到的将花括号连接在一起的虚线。 如果您拥有Resharper,您以前可能会看到此功能,但是从VS2017开始,它是内置功能。

5.1。 地图模式垂直滚动

此功能不是VS 2017的一部分,它在此版本之前已存在,谢天谢地有人向我展示了此功能。 如果您曾经在Macbook上使用多个文件编辑器进行过编程,那么有很多文件编辑器可以为您提供以下功能。 该功能称为垂直滚动的地图模式。

如果右键单击垂直滚动条,然后选择“滚动条选项”,则可以选择地图模式进行垂直滚动。

中提琴! 现在,您可以预览整个页面作为滚动条。 如果突出显示预览的某些部分,它甚至会在预览中将代码显示为预览! 预览开始。

6. Intellisense筛选器选项

首先,Intellisense选项的快捷方式现在为Ctrl + j 。 以下是外观预览。

2017年的新功能是Intellisense选项底部的一些有趣符号。 我经历了麻烦,在下面列出了这些符号的含义及其相应的快捷方式。

基本上,我们现在为Intellisense提供了过滤器选项! 我知道我遇到过这样的情况,即我只寻找本地人,而不是Resharper或其他生产力工具给我的所有其他垃圾。 现在,我拥有了,我什至不需要给Resharper我的钱就可以拥有这些选择。

7.数字分隔符

您最终可以使更大的数字看起来不错,因此您不必弄清楚它是200万还是2000万。 一个例子如下所示。

数字分隔符完全取决于用户要如何使用它们,您可以在任意位置添加任意数量的分隔符。 因此, 要聪明 ,并以有用的方式使用它们。 这是将可读性提高1000000000%(heh)的方式。

8.模式匹配

对于C#,这是一个相当新的概念。 解释它的最好方法是看一个例子。

我们都喜欢遵守契约的接口,但是编写所有这些空检查实在是过分了。 在上面的示例中,我已经写了两次,但是想一想,随着我的汽车清单越来越长,会发生什么。

这是C#7中提供的某些模式匹配功能后的外观。

更少的代码行可以做更多!!!

这将结束第一组C#7功能。 我还将学习更多有趣的功能,以进行更新。 这里的所有内容都是由Kathleen Dollard制作的内容的复制。