powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как вставить элемент в массив?
25 сообщений из 43, страница 1 из 2
Как вставить элемент в массив?
    #39234986
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
string[] s = new[] {"1", "2", "3"};



Как вставить элемент "5" в существующий массив, чтобы стало: "1","5","2","3"?
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39234987
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Никак! Массивы не изменяемые.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39234993
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать новый массив
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235000
sanekoffice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не принципиально, то лучше использовать коллекции. Там есть тетод Insert
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235016
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanekofficeЕсли не принципиально, то лучше использовать коллекции. Там есть тетод Insert
Вот у этой , например, такого метода нет. Как и у многих других, реализующих ICollection/ICollection<T> - потому как у этих интерфейсов нет такого метода.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235020
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныsanekofficeЕсли не принципиально, то лучше использовать коллекции. Там есть тетод Insert
Вот у этой , например, такого метода нет. Как и у многих других, реализующих ICollection/ICollection<T> - потому как у этих интерфейсов нет такого метода.
По правде сказать у коллекций вообще нет метода Insert, он есть у IList<T>/IList.
Array реализует последний, но вставить все равно не получиться)
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235026
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вопрос чисто академический, то нужно
А) Создать новый массив размером = размер старого + 1
Б) с помощью метода Array.Copy скопировать левую часть и правую часть массива в новый и задать новый элемент.
или ручками всё сделать =)
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235088
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВПо правде сказать у коллекций вообще нет метода Insert
Вроде как я именно об этом:
Сон Веры ПавловныКак и у многих других, реализующих ICollection/ICollection<T> - потому как у этих интерфейсов нет такого метода.
ЕвгенийВон есть у IList<T>/IList.
IList/IList<T> расширяют ICollection/ICollection<T> соответственно. Если IList не является коллекцией, то нужно определиться с терминологией - что же всё-таки является коллекцией. Я всегда считал, что коллекция - это то, что имплементит ICollection/ICollection<T>.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235112
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныВроде как я именно об этом:

Да сорри, не дочитал, старею.
Сон Веры ПавловныКак и у многих других, реализующих ICollection/ICollection<T> - потому как у этих интерфейсов нет такого метода.
Сон Веры ПавловныIList/IList<T> расширяют ICollection/ICollection<T> соответственно. Если IList не является коллекцией, то нужно определиться с терминологией - что же всё-таки является коллекцией. Я всегда считал, что коллекция - это то, что имплементит ICollection/ICollection<T>.
Лист тоже является коллекцией, но коллекция не является листом.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39235120
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныЕвгенийВПо правде сказать у коллекций вообще нет метода Insert
Вроде как я именно об этом:
Сон Веры ПавловныКак и у многих других, реализующих ICollection/ICollection<T> - потому как у этих интерфейсов нет такого метода.
ЕвгенийВон есть у IList<T>/IList.
IList/IList<T> расширяют ICollection/ICollection<T> соответственно. Если IList не является коллекцией, то нужно определиться с терминологией - что же всё-таки является коллекцией. Я всегда считал, что коллекция - это то, что имплементит ICollection/ICollection<T>.всё относительно, у Collection<T> и ObservableCollection<T> Insert есть и имплиментирует он IList<T>, ICollection<T> и IEnumerable<T> и т.д. Но называется то коллекцией :)
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237846
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном конкретном случае студент может поступить так.

Код: c#
1.
2.
3.
4.
  string[] s = new string[] {"1", "2", "3"};
  List<string> l = new List<string>(s);
  l.Insert(1, "5");
  s =  l.ToArray();



PS. Но с темой коллекций в c# студенту все же придется разобраться.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237859
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s = s.ToList().Insert(...).ToArray()
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237860
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предыдущее сообщение не читать, Insert не вернет коллекцию
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237867
void33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ermak,
и сколько же тут алокаций будет на куче?
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237868
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
void33Ermak,
и сколько же тут алокаций будет на куче?
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237869
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам шашечки или ехать?
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237875
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Листы вместо массива передайте куда-нибудь, например в Direct3D .....
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237899
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторErmak,
и сколько же тут алокаций будет на куче?


Студенты аллокаций на куче не считают.

PS. Студент запросил помощь. Студент получил помощь, соизмеримую с его уровнем владением предмета.
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237920
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErmakавторErmak,
и сколько же тут алокаций будет на куче?


Студенты аллокаций на куче не считают.

PS. Студент запросил помощь. Студент получил помощь, соизмеримую с его уровнем владением предмета.
Вообще-то студентам про структуры данных рассказывают в институтах, так что не стесняйтесь :)
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39237951
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВообще-то студентам про структуры данных рассказывают в институтах, так что не стесняйтесь :)

Согласен

ErmakPS. Но с темой коллекций в c# студенту все же придется разобраться.

PPS. Оставляю данную тему, студенту для самостоятельной работы ;)
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39238041
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErmakВ данном конкретном случае студент может поступить так.

Код: c#
1.
2.
3.
4.
  string[] s = new string[] {"1", "2", "3"};
  List<string> l = new List<string>(s);
  l.Insert(1, "5");
  s =  l.ToArray();



PS. Но с темой коллекций в c# студенту все же придется разобраться.

Ваш пример, коллега, пересыпает массив из одного места в другое, так и я могу. А вопрос был по вставке в середину, т.е. с минимумом "колбасинга"
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39238050
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинА вопрос был по вставке в середину, т.е. с минимумом "колбасинга"


С минимумом колбасинга не получится. Можно еще извращаться в плане заранее создать массив на 1 элемент больше (последний элемент = 0), выводимый размер - на 1 меньше. Когда надо вставить, то банальный сдвиг и вставка, выводимый размер += 1. Но надо ли такое извращение?
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39238214
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для вставки и удаления лучше подходит LinkedList
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39238275
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вот как надо в массив член вставлять!
Код: c#
1.
2.
            var массив = (new List<int>() { 1, 2, 3 });
            массив.Insert(0, 0);
...
Рейтинг: 0 / 0
Как вставить элемент в массив?
    #39238293
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Вот как надо в массив член вставлять!
Извиняюсь за оффтопСильно сказано. Элементы без члена это как-то неправильно
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как вставить элемент в массив?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]