使用特定对象更新列表

本文关键字:更新 列表 对象 | 更新日期: 2023-09-27 18:11:32

im使用以下代码从对象列表中获取数据

Con preConObj = preConfigList.FirstOrDefault(i => i.ID == con.ID);

现在我想在preConfigList中更新这个对象,它是类型

 private static List<Con> preConList;

使用此对象

Con PostConObj 

最好的方法是什么?

我试过

preConObj = postConObj,但这不会更新列表。。。

使用特定对象更新列表

您将首先使用找到对象的索引

var idx = preConList.FindIndex(x => x.ID == preConObj.ID);
preConList[idx] = postConObj; // replace it

反射在这种情况下可能很有用:

public static void UpdateObject<T>(this T source, T target)
{
    var type = typeof(T);
    var properties = type.GetProperties();
    foreach(var prop in properties)
        prop.SetValue(source, prop.GetValue(target));
}
// Usage:
preConObj.UpdateObject(postConObj);