c# - 如果 2 IEnumerable包含相同的项目,该项目是否在内存中重复?
问题描述
我需要从 IListSource 获取项目并将它们添加到 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);
}
}
解决方案
一句话——不。
您有两个对同一对象的引用。显然,引用本身会占用内存,但您不会将对象所需的内存加倍。
推荐阅读
- json - 在 Swift 4 中序列化 JSON - 找出数据类型的问题
- java - 无法实现活动场景
- html - 并排生成按钮不适用于 display:inline-block
- regex - 在两个模式之间的每一行的开头插入文本,包括
- java - Selenium webdriver - 在 Angular/Material 设计网站上拖放
- perl - % 字符的 Perl 问题
- c# - 什么是 build.force 文件,为什么在我更改构建配置时会出现它?
- pine-script - Pine Script 初学者,plotshape
- c# - 通过 ref C# button_on_click
- ajax - RxJS AJAX 检测请求是从 progressSubscriber 完成的(无论是成功还是错误)