[英]Passing a parameter into an object in curly brackets during instantiation in C#
在實例化期間將變量傳遞給 object 時,例如在
SomeObject newObject = new SomeObject() { SomeString = "String goes here" };
變量 SomeString 可以在構造函數中訪問還是之后會被分配? 如果我需要在構造函數中使用它,它會工作還是我需要使用它作為參數傳遞它
new SomeObject("String goes here");
變量 SomeString 是否可以在構造函數中訪問,還是會在之后分配?
之后會分配。
SomeObject newObject = new SomeObject() { SomeString = "String goes here" };
大致相當於/語法糖:
SomeObject temp = new SomeObject();
temp.SomeString = "String goes here";
SomeObject newObject = temp;
它將在第一種情況下分配。 注意:這需要有一個無參數的構造函數,它默認存在,除非你定義了一個參數化的構造函數。 在這種情況下,您必須明確定義這兩個構造函數。
有關更多詳細信息,您可以查看Object Initializers上的詳細信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.