猿问

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

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


例如。假设我有School带字段的类Name和Address


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


mySchool = School.new();

with mySchool do

begin

 Name := 'School Name';

 Address := 'School Address';

end

编译器会理解Name并Address在mySchool对象上被调用。


而在 C# 中,我必须执行以下操作


mySchool = new School();

mySchool.Name = "School Name";

mySchool.Address = "School Address";

我只是想知道是否有一种类似于上面的 Delphi 的语言结构可以消除我重复输入对象名称的需要。


我知道在这个例子中很简单,我应该使用参数化构造函数,但我的问题是当我用同一个对象做很多事情并且拥有这样的语言构造时,我会节省很多打字的时间。


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


jeck猫
浏览 207回答 2
2回答

倚天杖

在这种情况下,您可以使用对象初始值设定项:var mySchool = new School{    Name = "School Name",    Address = "School Address"};

精慕HU

我认为所选的答案并没有给你你所要求的。通过使用对象初始值设定项,您仍然必须每次都手动键入属性的名称。构造函数是您正在寻找的: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;    }}
随时随地看视频慕课网APP
我要回答