修改結構清單中的元素
使用結構清單時,嘗試使用簡單的賦值結果更改單一元素在錯誤訊息「無法修改System.Collections.Generic.List.this[int] 的回傳值,因為它不是變數。
理解值類型語義
在 C# 中,結構體變數保存資料的副本,意味著對副本進行的任何修改不影響原來的。此行為與類別不同,類別中物件引用指向實際資料。
存取和修改結構元素
在提供的範例中,當分配 MyList[1] 時。命名為“bob”,建立 MyStruct 的新實例並將其指派給該變數。但是,這個新實例並不引用清單中的原始元素。因此,原始元素保持不變。
修正清單中結構體元素的選項
要修改結構體清單中的實際元素,請考慮以下方法:
在結構體和類別之間進行選擇
決定使用結構體或類別不應主要基於將它們儲存在集合中的需要。相反,請考慮所表示的資料的語義和要求。對於表示單一不可變值的值對象,結構通常是首選。另一方面,類別擅長表示具有可變狀態和潛在複雜關係的物件。
以上是如何在 C# 中修改結構列表中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!