У меня есть словарь проектов, и если я выберу проект, я дам вариант предыдущий и следующий.Я добавил пример кода, но я надеюсь, что есть лучший / более быстрый способ сделать это, например, для 500 проектов.
Возможно, есть опция LINQ или что-то в этом роде?
Я проверил Enumerator, но он имеет только метод moveNext
и не может установить текущий.* Быстрый пример:
projects
- это Dictionary
.
project
- это KeyValuePair
, существующий в Dictionary
.
var match = false;
var save = new KeyValuePair<ExtendedProjectLightPlan, Page>();
var before = new KeyValuePair<ExtendedProjectLightPlan, Page>();
var after = new KeyValuePair<ExtendedProjectLightPlan, Page>();
foreach (var p in projects)
{
before = save;
save = p;
if (match)
{
after = p;
break;
}
if (p.Key.Id == project.Key.Id)
{
match = true;
}
}