C# 在一行代码中初始化对象属性 问题:

C# 在一行代码中初始化对象属性 问题:,c#,vb.net,C#,Vb.net,大家好, 很抱歉,这是一个很难回答的问题。我只是不知道该如何描述这个过程,所以我不知道该用谷歌搜索什么。我会在下面放一些C代码来解释我要做的事情。我只是不知道如何在VB中实现它。另外,对于将来的ref,如果您能告诉我这个过程叫什么,了解它会很有帮助。提前感谢你的帮助 // Here is a simple class public class FullName { public string First { get; set; } public char MiddleIninti

大家好,

很抱歉,这是一个很难回答的问题。我只是不知道该如何描述这个过程,所以我不知道该用谷歌搜索什么。我会在下面放一些C代码来解释我要做的事情。我只是不知道如何在VB中实现它。另外,对于将来的ref,如果您能告诉我这个过程叫什么,了解它会很有帮助。提前感谢你的帮助

// Here is a simple class
public class FullName
{
    public string First { get; set; }
    public char MiddleInintial { get; set; }
    public string Last { get; set; }

    public FullName() { }
}

/* code snipped */

// in code below i set a variable equal to a new FullName 
// and set the values in the same line of code
FullName fn = new FullName() { First = "John", MiddleInitial = 'J', Last = "Doe" };
Console.Write(fn.First);  // prints "John" to console
正如我前面提到的,我在搜索什么上画了空白,如果这个问题是重复的,那么很抱歉。我也讨厌重播:)所以,如果你发现了什么,请把我链接到其他地方


解决方案: 多亏了我们其中一位成员的帮助,我发现关键字是
With

Dim fn As New FullName() With { .First = "John", .MiddleInitial = "J"c, .Last = "Doe" }
Console.Write(fn.First)  ' prints "John" to console

此功能被命名为对象初始值设定项。请参见此处:

这是一个

等效的VB.NET代码为:

Dim fn = New FullName() With {.First = "John", .MiddleInitial = 'J', .Last = "Doe" }

它们被称为对象初始值设定项。你可以找到更多关于它们的信息。

我想你把这个标记错了。问题实际上是关于VisualBasic,而不是C。