gpt4 book ai didi

c# - 如何有效地将一个可观察集合中的范围选择到另一个可观察集合中

转载 作者:行者123 更新时间:2023-11-30 13:55:27 24 4
gpt4 key购买 nike

类似(伪代码)

ObservableCollection<TheClass> ob1 = new ObservableCollection<TheClass>();
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ObservableCollection<TheClass> ob2;
ob2 = ob1.Range(0, 2);

请注意,这两个集合都可能包含大量数据。

谢谢

最佳答案

ObservableCollection<TheClass> ob1 = new ObservableCollection<TheClass>();
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ObservableCollection<TheClass> ob2;

// ob2 = ob1.Range(0, 2);
ob2 = new ObservableCollection(ob1.Skip(0).Take(2));

现在,如果您真的坚持使用 .Range 方法,您可以自己编写一个扩展:

public static class ObservableCollectionExtensions
{
public static ObservableCollection<T> Range(this ObservableCollection<T> sequence, int start, int count)
{
return new ObservableCollection(sequence.Skip(start).Take(count));
}
}

现在你的代码应该可以编译了:

ObservableCollection<TheClass> ob1 = new ObservableCollection<TheClass>();
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ob1.Add(...);
ObservableCollection<TheClass> ob2;

ob2 = ob1.Range(0, 2);

关于c# - 如何有效地将一个可观察集合中的范围选择到另一个可观察集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34564905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com