C#, .NET, начинающим и не только's Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Friday, April 11th, 2014

    Time Event
    5:35a
    Класс для работы с диапазонами чисел.
    Точнее, написать надо было класс, который сможет проанализировать строку, где через запятую перечислены числовые значения, как одиночные, так и заданные отрезками: НачальноеЧисло-КонечноеЧисло.
    НачальноеЧисло должно быть меньше КонечноеЧисло.
    Например: 1, 114, 21-30. И в дальнейшем показать, входит ли заданное значение в ранее установленный диапазон. Но заодно уж добавил и остальные функции. Строки такие, например, встречаются в окне печати Word (номера страниц)

    Свойства класса:
    bool AllowRepeats - В случае истинности значения AllowRepeats в диапазоне разрешены повторы значений.
    2 конструктора - 1 создает класс с AllowRepeats==true, 2 позволяет задать AllowRepeats
    Методы:
    AddInDiapason (long Value) - Добавляет в диапазон значение Value
    AddInDiapason(long StartValue, long EndValue) - Добавляет в диапазон значения, начиная со StartValue и заканчивая EndValue включительно
    AddFromString(string DiapasonString) - добавляет в диапазон значения из вышеописанной строки, если не получилось возвращает false.
    Clear() - Очищает значения диапазона
    InDiapasonCount(long Value) - Возвращает, сколько раз встречается значение Value в диапазоне.
    SortDiapason(SortOrder Order) - Сортирует диапазон по возрастанию или убыванию в зависимости от заданного параметра Order
    SortOrder описана как:
    public enum SortOrder
            {
                byAscending = 0,
                byDescending = 1
            }

    ToArray() - Возвращает массив, содержащий значения диапазона.
    InDiapason(long Value) - Проверяет, входит ли значение Value в диапазон (возвращает true или false)
    GetIndexes(long Value) - Получает индексы элементов, равных значению Value
    RemoveAt(int Index) - Удаляет элемент с индексом Index, генерирует исключение если индекс вне диапазона.
    Remove(long Value) - Удаляет из диапазона все значения Value
    Remove(long StartValue, long EndValue) - Удаляет из диапазона все значения, начиная со StartValue и заканчивая EndValue
    RemoveInDiapason(string DiapasonString) - Удаляет из диапазона все значения, заданные строкой DiapasonString
    GetValue(int Index) - Возвращает значение элемента с индексом Index
    SetValue(int Index, long Value) - Устанавливает элементу с индексом Index значение Value
    ReplaceValue(long OldValue, long NewValue) - Заменяет в диапазоне значения равные OldValue на значения NewValue
    MaxValue(out long Value) - Возвращает максимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.
    MinValue(out long Value) - Возвращает минимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.
    Скачать исходник класса
    Скачать демо

    << Previous Day 2014/04/11
    [Calendar]
    Next Day >>

About LJ.Rossia.org