VS "15" 预览 5 中 VB 15 新增的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS "15" 预览 5 中 VB 15 新增的功能相关的知识,希望对你有一定的参考价值。

VS "15" 预览 5 给 VB 带来了更新。
这次的更新内容有3个:


* 值元组 ValueTuple
这个功能能把一组计算结果成组返回。
为了使用这个功能,我们要安装 System.ValueTuple 包。这是测试版的包,并且之前只仔细测试过 C# 的值元组功能。
装上之后,定义一个简单的函数

VB

Function TupleTest() As (Integer, b As String)
  Return (1, 2)
End Function


这个函数的返回值包含了两个私有字段,三个公共属性。
成员用来放这两个值,属性分别是
Item1, Item2, b
其中,b与Item2指向同一个字段。
生成这样的元组是因为第一个成员没有名字,取默认名 Item1。第二个参数有名字,就是b。
至于Item2, 这个可能是Bug,也可能本来就是设计成在部分匿名元组里面每个成员都有默认名称。
目前的值元组不支持解构,也不完全支持Option Explicit Off。


* 二进制数字和数字分隔符
现在可以用 &B 定义一个二进制的数字。例如:

VB

Enum MouseState
  None = &B0
  Left = &B1
  Right = &B10
  Middle = &B100
  X1 = &B1000
  X2 = &B1_0000
End Enum


是不是很方便呢?


* 支持使用 ByRef 返回类型
在C#中可以定义一个返回 ref 的方法或属性。现在 VB 可以正常使用这种方法。例如:

C#

public ref double Items(int index)
{
  return ref this._collection[index];
}


在VB中使用代码

VB

Items(0)=2.5


可以正常地把_collection的第一个元素变为2.5。

我个人认为这个功能仅仅用于兼容c# 7.0的代码。因为这个功能有写法稍微麻烦一些的等效替代。完全可以把值取出来,然后复制回去,而不必创建一个引用。

 

以上是关于VS "15" 预览 5 中 VB 15 新增的功能的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在VS里面设计的时候设置了margin-top的DIV显示正常,但是预览的时候margin-top就无效了

用VS15编写多文件程序的时候,c语言提示不允许使用不完整的类型

Windows实时预览markdown

在vs2010 MFC 项目中使用int i=5;CString str;str.Format("%d",i);编译时报错,提示str.Format参数不对

vs2010中开发wpf程序时控件的margin属性怎么设置

VS2013带来的"新特性"