C#-每次使用字段和方法时不重复对象名称

C#-每次使用字段和方法时不重复对象名称,c#,C#,我刚开始学C。我遇到的一个常见问题是,当我使用一个对象实例并希望访问/分配多个字段时,每次都必须调用对象名称。我来自Delphi,我想知道C#是否有类似于..doblock的功能 比如说。比如说,我有一个学校班级,有姓名和地址 在Delphi中,我可以执行以下操作 mySchool = School.new(); with mySchool do begin Name := 'School Name'; Address := 'School Address'; end mySchool =

我刚开始学C。我遇到的一个常见问题是,当我使用一个对象实例并希望访问/分配多个字段时,每次都必须调用对象名称。我来自Delphi,我想知道C#是否有类似于..doblock的
功能

比如说。比如说,我有一个
学校
班级,有
姓名
地址

在Delphi中,我可以执行以下操作

mySchool = School.new();
with mySchool do
begin
 Name := 'School Name';
 Address := 'School Address';
end
mySchool = new School();
mySchool.Name = "School Name";
mySchool.Address = "School Address";
编译器会理解,
mySchool
对象正在调用
Name
Address

而在C#中,我必须做以下几点

mySchool = School.new();
with mySchool do
begin
 Name := 'School Name';
 Address := 'School Address';
end
mySchool = new School();
mySchool.Name = "School Name";
mySchool.Address = "School Address";
我只是想知道是否有一种类似于上面的Delphi的语言结构,可以消除我重复输入对象名的需要

我知道在这个例子中,这是一个非常简单的问题,我应该使用一个参数化的构造函数,但我的问题是,当我用同一个对象做很多事情时,使用这样的语言构造可以节省我大量的输入

此外,我对名称空间也有模糊的认识,但我的理解是不能将对象/变量用作名称空间。如果我错了,请纠正我。

在这种情况下,您可以使用:

var mySchool = new School
{
    Name = "School Name",
    Address = "School Address"
};

我认为选择的答案并不能满足你的要求

通过使用对象初始值设定项,您仍然需要每次手动键入属性的名称

构造函数是您要寻找的:

class Program
{
    static void Main(string[] args)
    {
        School school1 = new School("School Name", "School Address");
    }
}

public class School
{
    public string Name { get; set; }
    public string Address { get; set; }

    public School(string name, string address)
    {
        this.Name = name;
        this.Address = address;
    }
}

这是很有帮助的,但是如果我只想连续多次使用该对象该怎么办呢?创建类时,可以在构造函数上指定括号中传递的参数作为attrs实例化。我对c并不十分精通,因为我讨厌微软,我只使用c来表示统一,但因为它与python/java等非常相似,所以它应该与这个班级类似(姓名、地址){#不确定是否需要调用构造函数方法或这是否足够**str Name=this.Name;str Address=this.Address;return School#您可能不需要返回类对象mySchool=new School(“霍格沃茨”,“某处巷”)