Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> c# Обработка массива, удаление элементов из массива 
:(
    Опции темы
WantToProg
Дата 20.7.2010, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 13.4.2009

Репутация: нет
Всего: нет



Прошу прощения за идиотский вопрос, но как сделать следующее:
Имеем одномерный массив:
Код

byte[] array = { a, b, c, d, e, f, g, h, i, j, k};

как мне отбросить у этого массива первые три элемента и последний один элемент, чтобы в результате получить
Код

byte[] new_array = { d, e, f, g, h, i, j};

Количество элементов в массиве, величина не постоянная, известно только, что надо убирать
PM MAIL   Вверх
Экскалупатор
Дата 20.7.2010, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 11
Всего: 24



создай новый массив и скопируй в него то что тебе нужно.
PM MAIL ICQ   Вверх
WantToProg
Дата 20.7.2010, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 13.4.2009

Репутация: нет
Всего: нет



Но я же не знаю, сколько элементов в массиве. 
У меня крутится в голове решение, но никак не могу до него дойти
array.count = 11, соответственно надо скопировать все, кроме элементов 0,1,2,11
делаем цикл по массиву
Код

for(int i = 0; i <= array.count; i++)
{
if ((i !=0) && (i !=1) && (i !=2) && (i != array.count))
{
А здесь подскажите как добавить элемент в новый массив, пожалуйста...

}


Может есть другой вариант?
PM MAIL   Вверх
KelTron
Дата 20.7.2010, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Конкретно для этого случая
Код

byte[] new_array = array.Where((e, n) => n > 2 && n < array.Length - 1).ToArray();

Ну или банальный цикл..


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
fvoice
Дата 20.7.2010, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 28.4.2009

Репутация: нет
Всего: нет



раз известно то что надо удалять, то можно такой вариант:
Код

            char[] array = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'};
            char[] arrayToDelete = { 'a', 'b', 'c', 'h' };

            char[] result = array.Where(x => !arrayToDelete.Contains(x)).ToArray();

PM MAIL   Вверх
WantToProg
Дата 20.7.2010, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 13.4.2009

Репутация: нет
Всего: нет



Спасибо, то на что я рассчитывал было в ответе у KelTron, спасибо. Еще бы разобраться самому, как это писать smile

fvoice, тоже отличный вариант.
А я уже в интерете нашел, как добавлять в коллекцию List элементы, но ваши варианты мне нравятся больше.
Большое спасибо, вопрос решен
PM MAIL   Вверх
VirusUZ
  Дата 20.7.2010, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: -1
Всего: -2



Код


string[] a={"1","2","3"};
            Array.Clear(a, 1, 1);


--------------------
Virus
PM MAIL   Вверх
Mephisto
Дата 26.7.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Может лучше списками пользоваться? Особенно если часто нужно делать подобные извращения.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1054 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.