Как создать массив с неизвестным количеством элементов c

от admin

Массив неизвестной длины в C #

Я только начал изучать С# и во введении к массивам они показали, как установить переменную как массив, но кажется, что нужно указать длину массива при назначении, так что, если я не знаю, длина массива?

10 ответов

Массиям должна быть назначена длина. Чтобы разрешить любое количество элементов, используйте класс List .

Используйте List<> для создания «массива» неизвестной длины.

Используйте List<>.ToArray() для возврата реального массива, а не List .

Вы можете создать массив с размером, установленным в переменной, т.е.

Однако этот размер не может измениться позже, если вы решите, что вам нужно 100 слов. Если вам нужно, чтобы размер был действительно динамичным, вам нужно использовать другую структуру данных. Попробуйте List .

Немного справочной информации:

Как сказано, если вы хотите иметь динамический набор вещей, используйте List<T> . Внутри List также использует массив для хранения. Этот массив имеет фиксированный размер, как и любой другой массив. Как только массив объявлен как имеющий размер, он не изменяется. Когда вы добавляете элемент в List , он добавляется в массив. Изначально List начинается с массива, который, как мне кажется, имеет длину 16. Когда вы пытаетесь добавить 17-й элемент в List , происходит то, что выделяется новый массив, который (я думаю) дважды размер старого, так что 32 элемента. Затем содержимое старого массива копируется в новый массив. Поэтому, хотя a List может показаться динамичным для внешнего наблюдателя, он также должен соблюдать правила.

И, как вы, возможно, догадались, копирование и распределение массивов не является бесплатным, поэтому нужно стремиться к тому, чтобы иметь как можно меньше из них, и сделать это, которое вы можете указать (в конструкторе List ), начальный размер массива, который в идеальном сценарии достаточно велик, чтобы держать все, что вы хотите. Однако это микро-оптимизация и маловероятно, что это будет иметь для вас значение, но всегда приятно знать, что вы делаете на самом деле.

Читать:
Cisco anyconnect как пользоваться

Вы также можете посмотреть в словарях, если ваши данные уникальны. Это даст вам два столбца для работы.

Имя пользователя, Итоговый счет

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

Как задать вывести массив с неопределенным изначально количеством переменных?

Задача заключается в том, что юзер вводит количество учеников, тем самым задавая размерночть массива и в последствии сам же заполняет массив. При таком коде выдает ошибку указываю на mas[], подскажите ошибку

Объявить как указатель

и динамически выделить под него память:

А вообще тема динамических массивов достаточно подробно изучена в таких местах как Google, Яндекс, StackOverflow, а так же в учебниках в разделах, где содержится кодовое словосочетание «динамический массив».

Neilana's user avatar

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Похожие статьи