Почему другой список также меняется, если я изменил данные одного списка? [Дубликат]
На этот вопрос уже есть ответ здесь:
Как сделать правильный клон списка <MyObject>? [Дубликат] 3 ответаУ меня один класс
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; }
}
Я создал новый список, используя этот класс, как указано ниже
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();
Я также инициализировать новый списокList<MatchAddress> lm;
Теперь я назначенdst
список кlm
как ниже
lm = dst ;
foreach (MatchAddress ma in lm)
{
if (ma.Name == "xyz")
{
ma.Pincode = null;
}
}
после этого обязательно собственностьPincode
для спискаlm
установлен вnull
где имя = "XYZ".
и по этой причине списокlm
обновить и установить поле пин-кода пустым.
но мой вопрос заключается в том, почему этот список lm также обновляет результат списка dst.
а такжеlm
список также установить нулевой пин-код в спискеdst
.
и мы делаем клонdst
список вlm
так почему списокlm
изменить также список DST ??
Я знаю причину этого, а не ответ, почему это происходит, если вы знаете, пожалуйста, дайте мне сейчас.
Я не хочу отвечать на этот вопрос