列表清除后如何保留我的 class
how can I preserve my class after list clear
我有2个类
public class Product
{
public DateTime Date { get; set; }
public string Name { get; set; }
public int Amount { get; set; }
}
public class Campaign
{
public long CampaignId { get; set; }
public string CampaignName { get; set; }
public List<Product> Products { get; set; }
}
代码:
var campaign = new Campaign();
campaign.CampaignId = Item.CampaignId;
campaign.CampaignId = Item.CampaignId;
campaign.CampaignName = Item.CampaignName;
campaign.Products = productList;
campaignList.Add(campaign);
productList.Clear();
当我调用 productList.Clear()
时,我的“活动”删除了它的 campaign.Products
。
我怎样才能防止这种情况发生?
campaign.Products = new List<Product>(productList);
因为 campaign.Products 与 productList
的引用相同
他们都指向同一个列表,对一个的任何操作都会反映在另一个 varialbe
您需要通过以下不同方式克隆(制作列表的另一个副本)
campaign.Products = productList.GetClone();
或
campaign.Products = productList.ToList();
或
campaign.Products.AddRange(productList);
检查以下内容url
我有2个类
public class Product
{
public DateTime Date { get; set; }
public string Name { get; set; }
public int Amount { get; set; }
}
public class Campaign
{
public long CampaignId { get; set; }
public string CampaignName { get; set; }
public List<Product> Products { get; set; }
}
代码:
var campaign = new Campaign();
campaign.CampaignId = Item.CampaignId;
campaign.CampaignId = Item.CampaignId;
campaign.CampaignName = Item.CampaignName;
campaign.Products = productList;
campaignList.Add(campaign);
productList.Clear();
当我调用 productList.Clear()
时,我的“活动”删除了它的 campaign.Products
。
我怎样才能防止这种情况发生?
campaign.Products = new List<Product>(productList);
因为 campaign.Products 与 productList
的引用相同
他们都指向同一个列表,对一个的任何操作都会反映在另一个 varialbe
您需要通过以下不同方式克隆(制作列表的另一个副本)
campaign.Products = productList.GetClone();
或
campaign.Products = productList.ToList();
或
campaign.Products.AddRange(productList);
检查以下内容url