将两个多级类对象与元素更新c#

时间:2019-01-01 14:58:58

标签: c# linq

我有两个具有相同类类型(PPLWebOperatorGridList)的对象(A,B)。我需要用A.OldValue更新B.Value

我尝试通过添加guid属性并在构造函数中对其进行更新,如下所示。但是这些对象列表可能重复相同的值:

public PPLWebOperatorGridList()
    {
        this.guid = this.FieldName+this.TagName+
                    this.Length+this.Encoder+this.Value;
    }
    public string guid { get; set; }

我尝试如下。我知道其中存在错误,但请考虑其中的想法。

private List<PPLWebOperatorGridList> UpddateOldValues(List<PPLWebOperatorGridList> customeTlvList, List<PPLWebOperatorGridList> customeTlvList2)
    {
        foreach (var list in customeTlvList)
        {
            foreach (var list1 in customeTlvList2)
            {
                if (list.guid == list1.guid)
                {
                    list.OldValue = list1.Value;
                    if (list.children.Count > 0)
                        UpddateOldValues(list.children.ToList(), list1.children.ToList());
                }
            }                
        }

        return customeTlvList;
    }

该列表中的guid属性可能相同。

class PPLWebOperatorGridList
{
    public bool expanded { get; set; }
    public string FieldName { get; set; }
    public string TagName { get; set; }
    public string Length { get; set; }
    public string Encoder { get; set; }
    public string Value { get; set; }
    public List<PPLWebOperatorGridList> children { get; set; }
    public string OldValue { get; set; }
}

我需要根据索引进行遍历,并用A.OldValue更新B.Value。我对linq不太熟悉,所以请提出解决方案。

0 个答案:

没有答案