Skip to content

Обеспечивает возврат уникальных индексов

Конструктор

RandomUnique(System.Random argRnd)

При создании нужно передать объект System.Random.

Свойство

int UsedCount

Сколько индексов уже расходавано.

IdKey

Dictionary IdKey

Словарь соответствий индекс-ключ.

KeyId

Dictionary KeyId

Словарь соответствий ключ-индекс.

Методы

Get

int Get(int argMax, GetInt getInt = null)

Получить новый неиспользованный индекс, с максимально возможным (argMax). По умолчанию, для получения нового индекса используется rnd.Next(argMax). Можно переопределить функцию получения нового индекса getInt.

Возврат: -1 - нет свободных индексов, >=0 неиспользованный индекс

AddKey()

AddKey(string argKey)

Добавить текстовый ключ, для которого будет автоматически выделен индекс (следующий, еще не использованный).

MarkUsed()

MarkUsed(int argIndex) MarkUsed(string argKey)

Пометить индекс (argIndex) как использованый. В случае передачи текстового ключа (argKey) будет найден, соответствующий индекс.

MarkUnUsed()

MarkUnUsed(int argIndex) MarkUnUsed(string argKey)

Пометить индекс (argIndex) снова как не использованый. В случае передачи текстового ключа (argKey) будет найден, соответствующий индекс.