歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> VS “15” 預覽 5 中 VB 15 新增的功能

VS “15” 預覽 5 中 VB 15 新增的功能

日期:2017/3/1 9:06:16   编辑:Linux編程

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的代碼。因為這個功能有寫法稍微麻煩一些的等效替代。完全可以把值取出來,然後復制回去,而不必創建一個引用。

Copyright © Linux教程網 All Rights Reserved