![](/img/trans.png)
[英]Random Selection of two different objects causes objects to reference same value
[英]Strange problem with two different objects having reference
將ClaimDetail添加到tmpClaim時,也會將該ClaimDetail添加到Claim。 有人可以解釋一下為什么會這樣嗎?
List<Claim> claims; // list data
foreach ( Claim claim in claims) {
Claim tmpClaim = datacontext.Claims.FirstOrDefault ( c => c.Id == claim.Id );
ClaimDetail claimDetail = new ClaimDetail ( );
claimDetail.ClaimDetailType = "Type";
// add claim
datacontext.Claims.InsertOnSubmit ( tmpClaim );
datacontext.SubmitChanges ( );
}
tmpClaim
不是一個新對象。 它仍然是對claims
元素的引用。
從本質tmpClaim
,這意味着您對tmpClaim
任何事情也在發生claims
。 他們是一樣的東西。
如果您不希望對tmpClaim
進行更改以影響claims
,則需要創建一個new Claim
(以及必要的任何復制/克隆操作)並在該新對象上進行所有工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.