如果 2 IEnumerable<T> 包含相同的项目,该项目是否在内存中重复?
If 2 IEnumerable<T> contains the same item, is the item duplicated on memory?
我需要从 IListSource 获取 Items 并将它们添加到 ObservableCollection,这会重复内存量还是仅由 2 IEnumerable 引用该项目?
public ObservableCollection<T> ObservableData {
get => _ObservableData;
set => _ObservableData = value;
}
public void MoveToPage(int PageNumber) {
this.CurrentPage = PageNumber;
IEnumerable<T> InvokeData = ((IListSource)this).GetList().Cast<T>();
foreach (var item in InvokeData) {
this.ObservableData.Add(item);
}
}
一句话-没有
您有两个对同一对象的引用。显然,引用本身占用内存,但您不会将对象所需的内存加倍。
我需要从 IListSource 获取 Items 并将它们添加到 ObservableCollection,这会重复内存量还是仅由 2 IEnumerable 引用该项目?
public ObservableCollection<T> ObservableData {
get => _ObservableData;
set => _ObservableData = value;
}
public void MoveToPage(int PageNumber) {
this.CurrentPage = PageNumber;
IEnumerable<T> InvokeData = ((IListSource)this).GetList().Cast<T>();
foreach (var item in InvokeData) {
this.ObservableData.Add(item);
}
}
一句话-没有
您有两个对同一对象的引用。显然,引用本身占用内存,但您不会将对象所需的内存加倍。