Я хочу, чтобы петля над SortedSet, не сохраняя фактическое положение в моем коде.Любой способ перебрать сортировку без Итератора или сохранить позицию индекса?
В the official .NET documention я заметил, что метод First() существует, но я не нашел способ Next<T>()
или вид (getNext
, goNext
, Iterate
...).
То, что я хочу, чтобы код что-то вроде этого:
private SortedSet<Frame> frames;
[...]
public Frame getNextFrame() {
if (frames.Next<Frame>()) //didnt exists
{
return frames.Current<Frame>() //didnt exists
} else {
return frames.First<Frame>();
}
}
Рама структура:
public struct Frame
{
Rectangle zone;
TimeSpan duration;
public Frame(Rectangle z, TimeSpan ts)
{
duration = ts;
zone = z;
}
}
вы только хотите, чтобы увидеть первый или второй элемент в списке? потому что вы можете просто перебирать набор с помощью инструкции foreach, но я не уверен, что это то, что вы ищете – bas
Какой тип 'frames'? Вы хотите, чтобы он реализовал IList , если вы хотите избежать хитов производительности. – itsme86
Я хочу просмотреть весь список, мой вопрос действительно существует, чтобы иметь сдерживаемый, который сохраняет свою позицию. –