从嵌套列表填充嵌套列表

时间:2012-12-12 17:01:42

标签: c# .net linq c#-4.0 nested

我有一个Product(IList<Product>)列表,其中包含所有预先填充的数据。

型号:Product

public class Product
{

    public int Id { get; set; }

    public int ParentProductId { get; set; }

    public string Code { get; set; }

    public string Name { get; set; }

    public IList<Product> Children { get; set; } 

}

属性Children的类型为IList<Product>,表示它是嵌套的,它可以再次包含最多n级别的子级。

我有另一个模型FilterModel

型号:FilterModel

public class FilterModel
{
    //// This is same as that of Product Code
    public string Code { get; set; }

    //// This is a combination of Products Name, Id and some static strings
    public string FilterUrl { get; set; }

    public IList<FilterModel> Children
}

其中也有相同的嵌套结构。

我打算从第一个模型(FilterModel)中将数据插入到我的第二个模型(Product)中。这是以递归方式实现的吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

FilterModel Transfer(Product product)
{
    var fm = new FilterModel();
    fm.Code = product.Code;
    fm.Children = new List<FilterModel>();

    foreach (var p in product.Children)
    {
        fm.Children.Add(Transfer(p));
    }

    return fm;
}