【发布时间】:2021-12-05 14:19:54
【问题描述】:
PremiumBill x = list.OrderBy(j => j.PostingDate).FirstOrDefault(j => j.PostingDate >= input.PostingDate);
您好,我正在尝试将数组中的值保存在变量中,以便在数组更改时保留它,但变量的值会随着其更改而更改。 我试过了
PremiumBill[] temporaryList = (PremiumBill[])List.ToArray().Clone();
PremiumBill x = temporaryList.OrderBy(j => j.PostingDate).FirstOrDefault(j => j.PostingDate >= input.PostingDate);
我尝试复制到并得到相同的东西
【问题讨论】:
-
在 C# 中,您使用对对象的引用。克隆数组时,实际上也克隆了指针,因此它们最终指向相同的对象。您需要实现
Clone并实际克隆您的对象,例如PremiumBill x = temporaryList.OrderBy(...).FirstOrDefault(...).Clone(). -
这能回答你的问题吗? How do I clone a generic list in C#?