在C#中有没有相应的语法?

15 浏览
0 Comments

在C#中有没有相应的语法?

C#中有没有与VB6的WithEnd With等效的语法?

0
0 Comments

在C#中,如果想要实现与上述内容相似的语法,可以使用对象和列表初始化器。通过对象初始化器,可以在创建对象的同时给对象的属性赋值。使用列表初始化器,可以在创建列表的同时给列表的元素赋值。

下面是一个使用对象和列表初始化器的示例代码:

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

通过这种方式,我们可以在创建`Person`对象时,直接为其属性赋值。在示例代码中,`Person`对象的`FirstName`属性被赋值为"John",`LastName`属性被赋值为"Doe",`Address`属性被赋值为一个新创建的`Address`对象,该对象的`Street`属性被赋值为"1234 St.",`City`属性被赋值为"Seattle"。

这种语法的出现是为了简化代码编写过程,使得对象的创建和属性赋值可以在同一个语句中完成,提高了代码的可读性和可维护性。

,C#中的对象和列表初始化器提供了一种简洁的语法,可以在对象创建时直接为其属性赋值,从而提高代码的可读性和可维护性。

0
0 Comments

C#语言中没有与此相对应的语法。最接近的是对象初始化器,但它们并不相同:

var obj = new SomeThing {
    Height = 100,
    Text = "Hello, World",
    ForeColor = System.Drawing.Color.Green
}

原因:这个问题的出现是因为在C#中没有与给定的语法等效的语法。虽然C#中有对象初始化器,但它们的使用方式不同于给定的语法。

解决方法:在C#中,可以使用对象初始化器来实现类似的功能。对象初始化器使用花括号来定义一个对象,并通过赋值语句为对象的属性赋值。使用对象初始化器的语法可以在创建对象的同时设置对象的属性值。

在给定的示例中,可以使用对象初始化器来创建一个新的SomeThing对象,并为其属性赋值。使用var关键字定义一个新的变量obj,并使用对象初始化器为其属性赋值。在对象初始化器中,可以使用属性名和赋值语句来设置对象的属性值。

这种方法虽然与给定的语法不完全相同,但是可以实现类似的效果,即在创建对象的同时设置对象的属性值。

0
0 Comments

在C#中,没有与With块完全等效的语法,但是C# 3引入了在构造函数中设置属性的能力:

var person = new Person { Name = "Jon", Age = 34 };

以及集合:

var people = new List<Person>
{
    new Person { Name = "Jon" },
    new Person { Name = "Holly"}
};

这绝对不是对With的所有用法的替代,但值得知道其中的一部分。

匿名构造与With块有何关联?(问者显然是在指代With块。)

因为With块经常用于在新构造的对象上设置多个属性...而对象初始化器是C#中对于这一部分的等效语法。

哦,我明白了。我混淆了匿名构造和初始化语法。

With可以用于保存临时实例 -- With New cMyClass -- 并在其超出范围之前实际调用方法(而不仅仅是初始化属性)。

0