gpt4 book ai didi

C# 排序列表 : How to get the next element?

转载 作者:可可西里 更新时间:2023-11-01 08:20:06 24 4
gpt4 key购买 nike

我想知道如何获取 C# 排序列表中的下一个元素。到目前为止,我想出了以下代码:

SortedList<int, Bla> mList;

Bla someElement = mList[key];
Bla next = mList[mList.Keys[mList.IndexOfKey(key) + 1]];

我不确定这是否是最明智的做法 ;-)

最佳答案

因为您可以通过 index (see the Remarks section) 访问 SortedList ,我建议使用以下内容:

var index = mList.IndexOfKey(key);
var first = mList.Values[index];
var second = mList.Values[index + 1];

这将在与单个查找相同的 O(log n) 中工作。

这也是 LINQ 方法:

var items = mList.SkipWhile(m => m.Key != key).Select(m => m.Value).Take(2).ToList(); // Avoid double-enumeration by calling ToList
var first = mList[0];
var second = mList[1];

这只会枚举一次。它将在 O(n) 内执行。

关于C# 排序列表 : How to get the next element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090786/

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