Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Реалізація інтерфейсу IComparer

Реферат Реалізація інтерфейсу IComparer





біт.

Якщо потрібно більше, можна застосовувати безліч значень BitVector32 або ж BitArray. Клас BitArray при необхідності може рости, а структура BitVector32 позбавлена ??такої можливості. [2]

Нижче перераховані члени структури BitVector32, які суттєво відрізняються від BitArray:

Властивість Data повертає дані BitVector32 у вигляді цілого числа.

Значення BitVector32 може бути встановлено з використанням цілого числа. Індексатор перевантажений: отримувати і встановлювати значення можна з використанням маски або секції типу BitVector32.Section. ()

Статичний метод, який дозволяє створювати маску для доступу до певних бітам Bitvector32. ()

Статичний метод, який дозволяє створювати кілька секцій всередині 32 біт. У наведеному нижче прикладі створюється структура BitVector32 за допомогою конструктора за замовчуванням, при цьому всі 32 біта инициализируются false. Потім створюються маски для доступу до бітам всередині бітового вектора. Перший виклик CreateMask () створює маску для доступу до першого биту. Після виклику CreateMask () значення bitl одно 1. [2]

Ще один виклик CreateMask () повертає маску для доступу до другого биту, яка дорівнює 2.bit3 має значення 4 для доступу до біту номер 3. bit4 має значення 8 для доступу до біту номер 4.Затем маски використовуються з индексатором для доступу до бітам всередині вектора біт і відповідної установки полів:


var bitsl=new BitVector32 (); bitl=BitVector32.CreateMask (); bit2=BitVector32.CreateMask (bitl); bit3=BitVector32.CreateMask (bit2); bit4=BitVector32.CreateMask (bit3) ; bit5=BitVector32.CreateMask (bit4); [bitl]=true; [bit2]=false; [bit3]=true; [bit4]=true; [bi15]=true; .WriteLine (bits1);



7. Реалізація інтерфейсу IComparable


Якщо потрібно впорядкувати колекцію, що складається з об'єктів визначається користувачем класу, за умови, що вони не зберігаються в колекції класу SortedList, де елементи розташовуються в відсортованому порядку, то в такої колекції повинен бути відомий спосіб сортування містяться в ній об'єктів. З цією метою можна, зокрема, реалізувати інтерфейс IComparable для об'єктів зберігається типу. Інтерфейс IComparable доступний у двох формах: узагальненої і неузагальнених. Незважаючи на схожість застосування обох форм даного інтерфейсу, між ними є деякі, хоча і невеликі, відмінності. [2]

Якщо потрібно впорядкувати об'єкти, що зберігаються в неузагальнених колекції, то для цієї мети доведеться реалізувати неузагальнених варіант інтерфейсу IComparable. У цьому варіанті даного інтерфейсу визначається тільки один метод, CompareTo (), який визначає порядок виконання самого порівняння. Нижче наведена загальна форма оголошення методу CompareTo ():

CompareTo (object obj)


У методі CompareTo () викликає об'єкт порівнюється з об'єктом obj. Для сортування об'єктів по наростаючій конкретна реалізація даного методу повинна повертати нульове значення, якщо значення порівнюваних об'єктів рівні; позитивне - якщо значення викликає об'єкта більше, ніж в об'єкта obj; і негативне - якщо значення викликає об'єкта менше, ніж в об'єкта obj. А для сортування за спадної можна звернути результат порівняння об'єктів. Якщо ж тип об'єкта obj не підходить для порівняння із зухвалим об'єктом, то в методі CompareTo () може бути згенеровано виняток ArgumentException. [2]

Якщо потрібно впорядкувати об'єкти, що зберігаються в узагальненій колекції, то для цієї мети доведеться реалізувати узагальнений варіант інтерфейсу IComparable lt; T gt ;. У цьому варіанті інтерфейсу IComparable визначається наведена нижче узагальнена форма методу CompareTo ():

CompareTo (Т other). [2]


У методі CompareTo () викликає об'єкт порівнюється з іншим об'єктом other.

Для сортування об'єктів по наростаючій конкретна реалізація даного методу повинна повертати нульове значення, якщо значення порівнюваних об'єктів рівні; позитивне - якщо значення викликає об'єкта більше, ніж в об'єкта іншого other; і негативне якщо значення викликає об'єкта менше, ніж у іншого об'єкта other. А для сортування за спадної можна звернути результат порівняння об'єктів. При реалізації узагальненого інтерфейсу IComparable lt; T gt; ім'я типу реалізує класу зазвичай передається в якості аргументу типу. [2]



8. Реалізація інтерфейсу IComparer


Для сортування об'єктів визначаються користувачем класів найчастіше простіше всього реалізувати в цих класах інтерфейс IComparable. Тим не менш, це завдання можна вирішити і за допомогою інтерфейсу ICompar...


Назад | сторінка 14 з 21 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Ескіз і специфікація типових об'єктів управління графічного інтерфейсу
  • Реферат на тему: Значення об'єктів атракції туріндустрії
  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?
  • Реферат на тему: Значення об'єкта злочину для визначення характеру і ступеня суспільної ...
  • Реферат на тему: Податок на майно організацій, його регулює значення і роль в регіональному ...