如果 2 IEnumerable<T> 包含相同的项目,该项目是否在内存中重复?

我需要从 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);

  }

}


MMMHUHU
浏览 203回答 1
1回答

开心每一天1111

一句话——不。您有两个对同一个对象的引用。显然,引用本身会占用内存,但不会使对象所需的内存增加一倍。
打开App,查看更多内容
随时随地看视频慕课网APP