![](/img/trans.png)
[英]How can I store the record into string array from Enumerable model list
[英]How to "change" a record inside a list / array / enumerable?
我有一個不可變的記錄列表,我需要“更改”其中一個記錄中的值。 這當然意味着創建 object 的副本,更改該值,然后引用新記錄而不是列表中的舊記錄。
我想知道在 C# 中是否有一些聰明而簡潔的方法。 到目前為止,我只想到了一種簡單的方法:
例如:
var newRecord = oldRecord with { Field = newValue};
var index = list.IndexOf(oldRecord);
list[index] = newRecord;
或者,如果它不是列表而是 Enumerable,則刪除一個項目並放置一個新項目,例如
看起來dotnet
實際上在System.Collections.Immutable
中有許多類。
ImmutableList
有一個Replace
function 可以滿足我的需要。
它也將返回一個新列表,因為列表本身是不可變的,因此如果不希望這樣做,則必須實現一個大致相同的擴展方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.