VB.NET在创建时填写对象字段

use*_*521 4 vb.net

在C#中创建对象时,我们也可以(同时)填写其属性.这在VB.NET中是否可行?

例如:

MyObject obj = new MyObject
{
   Name = "Bill",
   Age = 50
};
Run Code Online (Sandbox Code Playgroud)

Mar*_*zek 9

是的,这是可能的:

Dim obj As New MyObject With { .Name = "Bill", .Age = 50 }
Run Code Online (Sandbox Code Playgroud)

两件重要的事情:

  1. 使用With类名后面的关键字{ ... }
  2. 属性名称必须以点为前缀,因此您必须使用.Name而不是Name

对于集合初始化使用From关键字:

Dim obj as New List(Of String) From { "String1", "String2" }
Run Code Online (Sandbox Code Playgroud)