Warum ändert sich die andere Liste auch, wenn ich die Daten einer Liste geändert habe? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Wie mache ich einen korrekten Klon der Liste <MyObject>? [Duplikat 3 answers

Ich habe eine Klasse

class MatchAddress
{
    public string Name { get; set; }
    public string Taluka { get; set; }
    public string District { get; set; }
    public string Pincode { get; set; }
    public float Rank { get; set; }
}

Ich habe mit dieser Klasse eine neue Liste erstellt, wie unten angegeben.

var dst = ds.Tables[0].AsEnumerable()
                      .Select(s => new MatchAddress 
                       { 
                           Name = s.Field<String>("officename").Trim().ToLower(), 
                           Pincode = Convert.ToString(s.Field<double>("pincode")).Trim(), 
                           Taluka = s.Field<String>("Taluk").Trim(),
                           District = s.Field<String>("Districtname").Trim(), 
                           Rank = 0f 
                       })
                      .ToList();

Ich habe auch eine neue Liste initialisiertList<MatchAddress> lm;

Jetzt bin ich vergebendst Liste zulm Wie unte

lm = dst ;


foreach (MatchAddress ma in lm)
{                       
    if (ma.Name == "xyz")
    {                              
        ma.Pincode = null;
    }
}

danach sicher das PropertyPincode für die Listelm einstellennull where name = "XYZ".

und aus diesem Grund Listelm werden aktualisiert und das PIN-Code-Feld auf null gesetzt.

aber meine Frage ist, warum diese Liste ich auch das Ergebnis der Liste dst aktualisiere.

undlm liste setze auch pincode null in der listedst.

und wir machen den Klon desdst Liste inlm Also warum Listelm Ändern Sie die Liste auch dst ??

Ich weiß, warum das passiert, wenn du es dann weißt, lass es mich jetzt bitte wissen.

Ich möchte nicht auf die Antwort auf diese Frage

Antworten auf die Frage(4)

Ihre Antwort auf die Frage