Здравствуйте.
Есть коллекция чисел или словарь: Dictionary<int, MyClass>
.
В случае со словарём, ключи это числа от 0
до N
. Каждое следующее число должно быть больше предыдущего на единицу (не обязательно по порядку). То есть, если элементов будет 10 штук, то ключи должны быть числами от 0 до 9 (без пропусков). В конце всех операций необходимо удостовериться, что это действительно так (лучше проверить, чем не проверить).
Как это лучше всего сделать? Сейчас для словаря использую вот такой метод:
private static bool IsValidSequence(Dictionary<int, MyClass> items, int elementCount)
{
bool valid = true;
for (int i = 0; i < elementCount; ++i)
{
valid &= items.ContainsKey(i);
if (!valid) { return false; }
}
return valid;
}
Можно это как-то сократить до одной или двух строчек? Например, через LINQ
.
Тот же вопрос про коллекцию. Если бы это был не словарь, а List<int>
или new int[N]
.
Пока в голову приходят только многострочные способы.