如果我实例化Employee类的五个对象:emp1,emp2 ... emp5并将它们放入IList的listA中。现在,如果我创建另一个IList的数组listB其中包含的listA的子集,例如.NET会为列表分配内存吗?
IList<Employee> listB = listA.Take(3).ToList()
在数组listB refrence Employee对象在该listA的同一员工?
感谢,
如果我实例化Employee类的五个对象:emp1,emp2 ... emp5并将它们放入IList的listA中。现在,如果我创建另一个IList的数组listB其中包含的listA的子集,例如.NET会为列表分配内存吗?
IList<Employee> listB = listA.Take(3).ToList()
在数组listB refrence Employee对象在该listA的同一员工?
感谢,
是,需要提醒的是.Take
不会创建一个IList
。如果您写了listA.Take(3).ToList()
,那么您对结果的描述(包含对相同对象的引用的列表)将是准确的。
我不确定你是否可以做到这一点;您需要创建一个新列表并添加项目 - 这意味着它将成为副本。你认为也可以通过使用.ToList()