首页 > 解决方案 > C# - 使用字段和方法,无需每次都重复对象名称

问题描述

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

例如。假设我有School带字段的类NameAddress

在 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 的语言结构可以消除我重复输入对象名称的需要。

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

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

标签: c#

解决方案


在这种情况下,您可以使用对象初始化器:

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

推荐阅读