Visual Studio 2015系列教程(1)(2)

自动属性(auto-property)和索引初始化(Index initializers),终于可以像变量一样给属性赋初值了,大大提升代码可读性。
public string FirstName { get; set; } = “John”;
public string LastName { get; set; } = “Lennon”;
private Dictionary<int, string> _dicts = new Dictionary<int, string> { [3] = “third”, [8] = “eight” };
public string FullName { get; }
pubic MyClass () 
{
  FullName = “\{FirstName} \{LastName}”;
}

异常过滤器(Exception filter),回想曾经的错误处理,为了提示不同的错误,我们不得不定义多个自定义异常,有了异常过滤器之后,我们可以通过给异常添加一个简单的额外属性就可以解决了:
try { … }
catach ( CustomException ex ) if ( CheckException(ex) )
{ … } 
想想这个还有一个好处,比如严重异常日志,在这个过滤器里我们可以最简单的判断,发现若果是严重的问题,可以直接做更早的提醒。

引用静态类(using static),懒人必备,想想某大仙在前面定义了一个超级无敌的静态类和辅助方法,你有超级多的地方需要用,然后你就得一遍一遍的敲这个静态类名和方法名,万一这个静态类名字很长就更悲催了,拷贝吧,最后总是看着大段大段重复心里很不爽(程序员大部分都有代码洁癖),好吧,这个应用静态类就能很好的解决了:
using GrapeCity.Demo.LongLongNameStaticClass;
void AnotherMethod()
{
  UtilA(…) // no LongLongNameStaticClass.UtilA(…)
}

Await增强,终于可以把await放到catch和finally块中了,典型的用例是像IO资源操作之类可以简单整洁的处理关闭了:
Resource res = null;
try
{
  res = await Resource.OpenAsync(…); //一直都可以而且一直这么做的
  ...
}
catch(ResourceException ex)
{
  await Resource.LogAsync(res, ex); //写日志吧,不阻塞
}
finally
{
  res?.CloseAsync(); //结合空值判断操作符更简洁明了
}

C#6.0 特性就到这里了,第二篇我们会介绍VS2015代码编辑和调试相关的内容,看VS 2015是如何提升效率和质量的。请持续关注吧!

Visual Studio Code 简单试用体验 

Visual Studio 2010 & Help Library Manager 安装说明

OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法详解

使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio 2005/2008/2010目标文件

Visual Studio LightSwitch增加对HTML5和JavaScript的支持

Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应用

Visual Studio 的详细介绍请点这里
Visual Studio 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16173.html