Jon*_*eet 19

没有什么相当的,但C#3获得了在构造上设置属性的能力:

var person = new Person { Name = "Jon", Age = 34 };
Run Code Online (Sandbox Code Playgroud)

和收藏品:

var people = new List<Person>
{
    new Person { Name = "Jon" },
    new Person { Name = "Holly"}
};
Run Code Online (Sandbox Code Playgroud)

它绝对不是所有用途的替代品With,但值得了解其中一些用途.


Bot*_*000 14

C#没有任何等效语法.最接近的是对象初始值设定项,但它们不相同:

var obj = new SomeThing {
    Height = 100,
    Text = "Hello, World",
    ForeColor = System.Drawing.Color.Green
}
Run Code Online (Sandbox Code Playgroud)


Kri*_*ast 6

没有.

接近的是对象和列表初始化器.

Person p = new Person()
{
    FirstName = "John",
    LastName = "Doe",
    Address = new Address()
    {
        Street = "1234 St.",
        City = "Seattle"
    }
};
Run Code Online (Sandbox Code Playgroud)