Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > c# Обработка массива


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

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

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

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

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

Автор: Экскалупатор 20.7.2010, 07:41
создай новый массив и скопируй в него то что тебе нужно.

Автор: WantToProg 20.7.2010, 07:51
Но я же не знаю, сколько элементов в массиве. 
У меня крутится в голове решение, но никак не могу до него дойти
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))
{
А здесь подскажите как добавить элемент в новый массив, пожалуйста...

}


Может есть другой вариант?

Автор: KelTron 20.7.2010, 07:53
Конкретно для этого случая
Код

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

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

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

            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();

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

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

Автор: VirusUZ 20.7.2010, 09:12
Код


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


Автор: Mephisto 26.7.2010, 13:28
Может лучше списками пользоваться? Особенно если часто нужно делать подобные извращения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)