Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
// Для доступа к ArrayList потребуется импортировать// пространство имен System.Collections.using System.Collections;ArrayList strArray = new ArrayList();strArray.AddRange(new string[] { "First", "Second", "Third" });// Отобразить количество элементов в ArrayList.System.Console.WriteLine("This collection has {0} items.", strArray.Count);System.Console.WriteLine();// Добавить новый элемент и отобразить текущее их количество.strArray.Add("Fourth!");System.Console.WriteLine("This collection has {0} items.", strArray.Count);// Отобразить содержимое.foreach (string s in strArray){ System.Console.WriteLine("Entry: {0}", s);}System.Console.WriteLine();Обратите внимание, что вы можете добавлять (и удалять) элементы на лету, а контейнер автоматически будет соответствующим образом изменять свой размер.
Как вы могли догадаться, помимо свойства
CountAddRange()Add()ArrayListSystem.CollectionsStackQueueОднако важно отметить, что в большинстве ваших проектов .NET Core классы коллекций из пространства имен
System.CollectionsSystem.Collections.GenericSystem.CollectionsОбзор пространства имен System.Collections.Specialized
System.CollectionsSystem.Collections.Specialized
Кроме указанных конкретных типов классов пространство имен
System.Collections.SpecializedSystem.Collections.GenericНа заметку! В библиотеках базовых классов .NET Core доступны два дополнительных пространства имен, связанные с коллекциями (
System.Collections.ObjectModelSystem.Collections.ConcurrentSystem.Collections.ConcurrentПроблемы, присущие необобщенным коллекциям
Хотя на протяжении многих лет с использованием необобщенных классов коллекций (и интерфейсов) было построено немало успешных приложений .NET и .NET Core, опыт показал, что применение этих типов может привести к возникновению ряда проблем.
Первая проблема заключается в том, что использование классов коллекций
System.CollectionsSystem.Collections.SpecializedSystem.ObjectВторая проблема связана с тем, что большинство необобщенных классов коллекций не являются безопасными в отношении типов, т.к. они были созданы для работы с
System.ObjectПрежде чем вы увидите, как применять обобщения в своих программах, полезно чуть глубже рассмотреть недостатки необобщенных классов коллекций, что поможет лучше понять проблемы, которые был призван решить механизм обобщений. Создайте новый проект консольного приложения по имени
IssuesWithNongenericCollectionsSystemSystem.CollectionsProgram.csusing System;using System.Collections;Проблема производительности
Как уже было указано в главе 4, платформа .NET Core поддерживает две обширные категории данных: типы значений и ссылочные типы. Поскольку в .NET Core определены две основные категории типов, временами возникает необходимость представить переменную одной категории как переменную другой категории. Для этого в C# предлагается простой механизм, называемый упаковкой (boxing), который позволяет хранить данные типа значения внутри ссылочной переменной. Предположим, что в методе по имени
SimpleBoxUnboxOperation()intПохожие книги на "Язык программирования C#9 и платформа .NET5", Троелсен Эндрю
Троелсен Эндрю читать все книги автора по порядку
Троелсен Эндрю - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.