簡體   English   中英

在 C# 中的實例化期間將參數傳遞到大括號中的 object

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM