Відмінності між списком C # і масивом
Клас списку C # являє собою сильно типізований список об'єктів, до яких можна отримати доступ за допомогою індексу, і він підтримує збереження значень певного типу без кастингу на об'єкт або з нього.
Список, де параметром T є тип елементів у Списку. Деякі особливості Списку наведені нижче:
Додайте цілі значення в колекцію списку:
Список intList = новий Список (); intL) ist.Add (2); intList.Add (3); intList.Add (4); Додати значення рядків у колекцію списку: Кольори списку = новий Список (); color.add ("червоний"); color.add ("білий"); color.add ("зелений"); Отримайте елементи з колекції списку, використовуючи цикл: foreach (колір рядка в кольорах) ( MessageBox.Show (кольоровий) ) |
Масив зберігає послідовну колекцію елементів одного типу з фіксованим розміром. Він використовується для зберігання колекції даних, але масив може розглядатися як набір однотипних змінних, що зберігаються в суміжних місцях пам'яті. Усі масиви складаються з суміжних місць пам'яті, при цьому найнижча адреса відповідає першому елементу, а найвища - останньому.
Оголосити масив у C #:
тип даних () typeName; // DataType використовується для визначення типу елементів у масиві Ініціалізація масиву: подвійний () баланс = новий подвійний (50); Присвоєння значень масиву: подвійний () баланс = (23.0, 34.56, 44.32); Доступ до елементів масиву; Foreach (значення int у балансі) ( Console.WriteLine ("елемент є:" + значення); ) Одночасно створюйте та ініціалізуйте масив: Int () кроки = new int (6) (1, 2, 3, 4, 5, 6); Скопіюйте змінну масиву в іншу змінну цільового масиву: Int () count = кроки; і цільовий, і вихідний вказують на одне і те ж місце пам'яті |
Порівняння між голосами та інфографікою масиву C #
Нижче наведено 8 найкращих відмінностей між C # List і Array
Ключові відмінності між списком C # та масивом
Обидві продукти C # List і Array - це популярний вибір на ринку; Давайте обговоримо деякі основні відмінності між списком C # і масивом:
- Список побудований у верхній частині масиву, тоді як Array - структура даних нижчого рівня.
- Список постачається у вигляді API в C # з батьківським класом Collection, тоді як Array - це структура даних нижнього рівня зі своїми специфічними властивостями.
- Список не заснований на індексах, заснований на концепції вузлів, тоді як масиви - це структури даних на основі індексу, найнижча адреса надається першому елементу, а найвища адреса - останньому елементу в масиві.
- Список динамічний за своєю суттю, тобто їх розмір автоматично збільшується із збільшенням розміщення елементів, тоді як масиви мають структуру фіксованого розміру, коли ініціалізацію неможливо скинути.
- Список краще для частого вставки та видалення, тоді як масиви набагато краще підходять для частого доступу до сценарію елементів.
- Список займає набагато більше пам’яті, оскільки кожен визначений вузол Список має власний набір пам’яті, тоді як масиви - це структура даних, що ефективно працює з пам’яттю.
- Список отриманий із колекції, яка містить більш загальний тип даних, тоді як масив фіксований і зберігає більш сильний тип даних.
- У списку містяться вузли, які мають місця в пам'яті, не слід мати суміжний характер, тоді як масив містить елементи з розташуванням їх пам'яті, які є суміжними за своєю природою.
- Неспрямоване властивість List змушує їх зайняти більше часу в доступі до елементів, тоді як суміжне властивість Array робить їх високоефективними для доступу до елементів.
- Перелічіть загальні джерела використання, це, в основному, безпечна версія ArrayList, і генерувати помилку під час компіляції, тоді як масиви зі своєю безпекою для типу, високоефективними з точки зору швидкості та продуктивності, підтримують різні виміри.
Порівняння голову до голови між списком C # проти масиву
Нижче наведено найвище порівняння між C # List і Array
Основи порівняння між списком C # і масивом | Список | Масив |
Створення | Побудований на вершині масиву | Оригінальна структура даних, заснована на концепції індексу |
Пам'ять | Займайте більше пам'яті, ніж Array | Ефективна пам'ять |
Довжина | Довжина варіюється | Фіксований розмір довжини |
Використання | Часте вставлення та видалення | Частий доступ до елементів |
Змініть розмір | Список змін - динамічний характер | Змінення розмірів масивів коштує дорого |
Будова | Непомітна пам'ять | Суміжне місце пам'яті |
Індексація | Неіндексна структура | Індекс на основі найнижчої адреси як першої та найвищої адреси як останньої |
Доступ | Елемент доступу забирає багато часу, хоча заснований на позиції елемента | Елемент доступу - це постійна робота часу, незалежно від місця розташування елемента |
Висновок - C # Список проти масиву
Обидва C # List проти масиву - це різні типи, що мають різні можливості та зберігають свої дані окремо. Ця можливість зберігання та дизайн обох структур даних C # List та Array робить їх унікальними по-своєму. Масив має фіксований розмір, і як тільки він виділяється, з нього не можна додавати або видаляти елементи, також всі елементи повинні бути одного типу. Таким чином, це безпечна і найбільш ефективна лінійна структура даних з точки зору швидкості та продуктивності. Також Array підтримує кілька вимірів. У цьому списку представлені більш загальні можливості та отримані з колекційних API. На відміну від Array, вони динамічні за своєю суттю, можуть змінювати розмір автоматично при частому введенні та видаленні елементів. По суті це безпечна для версії структура даних ArrayList. Функція безпеки типу означає, що немає боксу або розпакування, які б підвищили продуктивність, і якщо хтось спробує додати елемент неправильного типу, він створить помилку під час компіляції.
Виконання списку C # проти масиву - це лінійна структура даних, яка добре підходить для різних сценаріїв. Якщо трапляються часті вставки та видалення і в той же час пам'ять не є обмеженням, тоді List є ідеальним вибором, тоді як у таких сценаріях, як частий доступ до необхідних елементів з обмеженням пам'яті, тоді Array є кращим варіантом. Все залежить від випадку використання та вимоги. Масив - це завжди список у природі, але список - це не масив. Масив дозволяє обидва типи доступу, прямий та послідовний, тоді як Список дозволяє лише послідовний доступ. І це тому, що спосіб зберігання даних структур зберігається в пам'яті. Оскільки List є похідним від Collection, він може відрізнятися реалізацією, однією з таких реалізацій є ArrayList, який є класом, який реалізує поведінку списку, використовуючи масиви як структуру даних. Масив дуже сильно пов'язаний з апаратним поняттям безперервної, суміжної пам'яті, кожен елемент однаковий за розміром. Обидві ідеї щодо продуктивності C # List та Array вирівнюються досить добре на основі сценаріїв. Врешті-решт все це зводиться до вимоги, хоча частина пам'яті може бути безпечно бічною лінією в сучасному світі, оскільки висока пам'ять стала нормою.
Рекомендована стаття
Це було керівництвом щодо найкращих відмінностей між списком C # проти масиву. Тут ми також обговорюємо розбіжності ключових списків C # проти масиву з інфографікою та таблицею порівняння. Ви також можете переглянути наступні статті -
- Списки масивів проти списку Java - цінні відмінності
- Дивовижне керівництво по C проти Java
- Java-вектор та ArrayList
- C # vs Js - дивовижні відмінності
- C # масив проти списку: відмінності
- Потрібно проти імпорту: Хочете знати переваги
- C проти C #: Які найкращі відмінності
- C # vs JavaScript: Які функції