我剛剛開始學習 C#。我遇到的一個常見問題是,當我使用對象實例并想要訪問/分配多個字段時,我每次都必須調用對象名稱。我來自 Delphi 的背景,我想知道 C# 是否有類似于with..doblock 的東西。例如。假設我有School帶字段的類Name和Address在 Delphi 中,我可以執行以下操作mySchool = School.new();with mySchool dobegin Name := 'School Name'; Address := 'School Address';end編譯器會理解Name并Address在mySchool對象上被調用。而在 C# 中,我必須執行以下操作mySchool = new School();mySchool.Name = "School Name";mySchool.Address = "School Address";我只是想知道是否有一種類似于上面的 Delphi 的語言結構可以消除我重復輸入對象名稱的需要。我知道在這個例子中很簡單,我應該使用參數化構造函數,但我的問題是當我用同一個對象做很多事情并且擁有這樣的語言構造時,我會節省很多打字的時間。另外,我對命名空間有模糊的了解,但我的理解是您不能將對象/變量用作命名空間。如果我錯了,請糾正我。
2 回答

倚天杖
TA貢獻1828條經驗 獲得超3個贊
在這種情況下,您可以使用對象初始值設定項:
var mySchool = new School
{
Name = "School Name",
Address = "School Address"
};

精慕HU
TA貢獻1845條經驗 獲得超8個贊
我認為所選的答案并沒有給你你所要求的。
通過使用對象初始值設定項,您仍然必須每次都手動鍵入屬性的名稱。
構造函數是您正在尋找的:
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;
}
}
- 2 回答
- 0 關注
- 227 瀏覽
添加回答
舉報
0/150
提交
取消