Visual Studio 2015 & C#6.0
Visual Studio 2015 & C#6.0 试用报告,持续更新。
昨天早上看到了.net开源的消息,我是非常兴奋的,毕竟局限于Windows的.NET经常被人唾弃。VB暂且不提,C#常年被人指责跨平台性不佳,我也是无能为力。即使有Mono等第三方跨平台工程,.NET的跨平台性还是不尽人意。
看到了.NET开源的消息后,又看见了Visual Studio 2015,让我没想到的是,VS居然已经集成了跨平台开发,这令我十分意外,如此保守和唾弃Android、Linux的微软,居然肯在自家的VS上集成其他平台的开发。。。。
我对Android的了解还不是很深,只停留在”Android的程序大部分是用Java写的“之类的认识。既然微软真的这么做了,那我也得开始研究Android App啦!(笑)
不过,首先还是得来研究新的Visual Studio和新的C#,毕竟是老本行。。。本来以为能看见.net 5.0,结果微软甩了个.net 4.6。。。。真是。。。。。。
首先送上下载地址。(不知道是不是每个人唯一的,应该不是吧。。。下载的时候微软让我登陆Microsoft账户)
http://download.microsoft.com/download/4/A/0/4A0D63BC-0F59-45E3-A0FF-9019285B3BC5/vs2015.preview_ult_ENU.iso
下载好的ISO是4.4G,比起2013Update3的6G多小了好多。。。。。难道是微软优化了代码?(嘲讽的是,VS12只有1.5G)
安装
现在Blend已经成了强制安装内容了233,新多出来的VS core不知道是啥玩意儿。。。选上就对啦!

先说说C# 6.0
微软在14年5月就发布了C# 6.0预览版,不过需要手动安装到Visual Studio,并称能兼容现有.net版本(貌似也就是兼容.NET 4.5),
C# 6.0有几个主要的更新,非常大的一个就是关于属性。
这是官方的一个Preview,去年的了。
http://msdn.microsoft.com/en-us/magazine/dn683793.aspx
C#6.0之前,是这么给一个属性进行手动初始化的

private int _x = 10;
public int X
{
get { return _x; }
set { _x = value; }
}

现在可以直接这么干
public int X { get; set; } = 10;
public int Y { get; set; } = 20;
如果要创建一个只读属性并且给他赋值,以前是这么干的
private readonly int _x = 10;
public int X { get { return _x; } } private readonly int _y = 20;
public int Y { get { return _y; } }
现在简化成了这样
public int X { get; } = 10;
public int Y { get; } = 20;
以前的话,用一个Primary Constructor给属性赋值是这样的。

class PropertyTest
{
private readonly int _x;
public int X { get { return _x; } } private readonly int _y;
public int Y { get { return _y; } } public Point(int x, int y)
{
_x = x;
_y = y;
} public PropertyTest() : this(0, 0) { }
}

现在简化成这样

class PropertyTest(int x, int y)
{
public int X { get; } = x;
public int Y { get; } = y; public PropertyTest() : this(0, 0) { }
}

以前给属性赋值加以限制是这么干的

class FirstQuadrant
{
public int X { get; private set; }
public int Y { get; private set; } public FirstQuadrant(int x, int y)
{
if (x < 0) throw new ArgumentException("x 必须为正.");
if (y < 0) throw new ArgumentException("y 必须为正."); X = x;
Y = y;
}
}

现在可以这么干

class FirstQuadrant(int x, int y)
{
{
if (x < 0) throw new ArgumentException(nameof(x) + "必须为正.");
if (y < 0) throw new ArgumentException(nameof(y) + "必须为正.");
} public int X { get; } = x;
public int Y { get; } = y;
}

以上是关于属性方面的改变,其他的。。。我再来慢慢说。。。
关于属性的改变,的确就是个语法糖,不过,它真的方便了很多,你们不要黑他>.<
好了。。。VS装好了,重启去。。。。
重启完出来这个。。。叫我装移动平台的开发工具,还tm要联网。。。
结果是。。。下载一半爆炸了。。。说是下载错误什么的。。。然后我就再也找不到这个Secondary Installer了。。。 走你,跟VS13的步骤差不多
IE11装好了!问题都搞定了,开始测试! 界面和2013比没什么变化,新建个工程试试!
微软你弄这么多4.5意义何在= =
新建的空WPF App的默认XAML代码有了些变化,多引用了些类库,并且自动把当前工程给引用进来了,挺实用的。
默认的引用也发生了变化,多了几个新的。
Analyzer不是一个类库,具体怎么用,我也不知道。。。。我去翻翻看微软的介绍。。。
没用到的using会显示成灰色
UI也改进了挺多的
属性新的赋值方式的确非常方便,非常不错的语法糖!
Visual Studio 2015 & C#6.0的更多相关文章
- Visual Studio 2015 & C#6.0 试用报告,持续更新。
昨天早上看到了.net开源的消息,我是非常兴奋的,毕竟局限于Windows的.NET经常被人唾弃.VB暂且不提,C#常年被人指责跨平台性不佳,我也是无能为力.即使有Mono等第三方跨平台工程,.NET ...
- 如何给Visual Studio 2015安装XNA4.0
从这个地址下载安装包 https://mxa.codeplex.com/releases/view/618279 按照说明步骤依次安装 DirectX XNA Framework 4.0 Redist ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1
近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索 ...
- (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 1.下载opencv 官网http://opencv.org/下载windows版Op ...
- visual studio 2015 Opencv 3.4.0配置
因为想做AR方面,需要了解计算机视觉知识,决定从opencv开始入门,在网上买了本毛星云的<Opencv3编程入门>开始自学. 一.opencv 3.4.0下载安装 在官网http://o ...
- .NET CORE 实践(3)--Visual Studio 2015 Update 3更新之后DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe无法正确安装
打开 https://www.microsoft.com/net/core#windows,点击 https://go.microsoft.com/fwlink/?LinkId=691129下载vs2 ...
- Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)
Title : Caffe (Visual Studio15+CUDA8+cuDNN5+python3.5) Author : SURFZJY Logo : True [TITLE] Requirem ...
- caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)
原文来源: 来源:Angle_Cal 2016-12-19 17:32 本博主修改于2017-09-12. 版权所有,转载请注明出处. BLVC版本的Caffe-windows已经支持Vis ...
随机推荐
- Oracle左连接、右连接、全外连接以及(+)号用法(转)
+:与附带的字段相连,和“+”相连的字段值,不管是否存在,都会展示 也就是带上相连接的字段 有数据了就显示,没数据就显示为null Oracle 外连接(OUTER JOIN) 左外连接(左边的表不 ...
- “NET网络”进行中,多管齐下的人才力挫“”粗俗
随着互联网的迅猛发展,一些不太干净.低俗的甚至色情的内容不断浮现.不仅严重影响了我们的上网体验,也成为扰乱互联网正常秩序的罪魁祸首,部分不法内容甚至给网民造成了一定的財产损失.在这样的 ...
- 微软Visual Studio "14" CTP 2 公布
对于在微软阵营下进行工作的团队来说,拥有最新版本号的Visual Studio是提高效率最佳的选择,没有之中的一个. 在本文中,我们就上个月公布的Visual Studio "14&q ...
- RMQ(模板 ST 区间最值,频繁的间隔时间)
PS: 介绍:http://blog.csdn.net/liang5630/article/details/7917702 RMQ算法.是一个高速求区间最值的离线算法,预处理时间复杂度O(n*log( ...
- CIC and Fir 滤波器的级联
在FDATool中 CIC 和 Fir 级联滤波器的设计 1 设计CIC滤波器的幅频特性曲线如下 2.设计FIR 滤波器的幅频特性曲线如下 3.总的特性曲线如下 4.把通带部分放大后的图,比较平坦
- apache 提示You don't have permission to access /test.php on this server.怎样解决
原文:apache 提示You don't have permission to access /test.php on this server.怎样解决 关键字: Apache 403 For ...
- C#中假设正确使用线程Task类和Thread类
C#中使用线程Task类和Thread类小结 刚接触C#3个月左右.原先一直使用C++开发.由于公司的须要,所地採用C#开发.主要是控制设备的实时性操作,此为背景. 对于C#中的Task和Thread ...
- ASP.NET验证控件
在此过程中房间的收费制度时,.为了验证文本框是否为空.用户存在.合法等等.我们都要单独写代码.学习了ASP.NET的验证控件,省了非常多事. ASP.NET能够轻松实现对用户输入的验证. 让我们好好回 ...
- HDU 1198 Farm Irrigation (并检查集合 和 dfs两种实现)
Farm Irrigation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Matlab.NET混合编程技巧之——找出Matlab内置函数
原文:[原创]Matlab.NET混合编程技巧之--找出Matlab内置函数 Matlab与.NET的混合编程,掌握了基本过程,加上一定的开发经验和算法基础,肯定不难.反之,有时候一个小错误,可能抓破 ...

结果是。。。下载一半爆炸了。。。说是下载错误什么的。。。然后我就再也找不到这个Secondary Installer了。。。
走你,跟VS13的步骤差不多

IE11装好了!问题都搞定了,开始测试!
界面和2013比没什么变化,新建个工程试试!
微软你弄这么多4.5意义何在= =
新建的空WPF App的默认XAML代码有了些变化,多引用了些类库,并且自动把当前工程给引用进来了,挺实用的。
默认的引用也发生了变化,多了几个新的。
Analyzer不是一个类库,具体怎么用,我也不知道。。。。我去翻翻看微软的介绍。。。

没用到的using会显示成灰色
UI也改进了挺多的
属性新的赋值方式的确非常方便,非常不错的语法糖!