zoukankan      html  css  js  c++  java
  • 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的代码。因为这个功能有写法稍微麻烦一些的等效替代。完全可以把值取出来,然后复制回去,而不必创建一个引用。

  • 相关阅读:
    finalShell 文件上传拖拽失败
    centos6.x 启动docker报错
    笔记本查看当前登录用户
    保存文件到D盘时显示“你没有权限在此文件夹中保存文件,请联系管理员“其他文件夹正常?
    关于MongoDB配置文件的一个小细节
    ubuntu: mongoDB安装,无需下载
    Java 连接虚拟机中MongoDB 所需依赖
    信息知识竞赛刷题助手
    python超多常用知识记录
    python字典键或值去重
  • 原文地址:https://www.cnblogs.com/Nukepayload2/p/vs_15_pre5_vb_new.html
Copyright © 2011-2022 走看看