Работа с массивами
Никак не могу найти ответ на такой вопрос:
необходимо в функцию передать массив (указатель) без определенного числа
первых элементов.
В с++ это было бы очень просто:
byte *x = new byte [Length];
SomeFunc(&x[N]);
В С# такое не проходит. Каким образом можно удалить элементы из существующего массива???
Никак не могу найти ответ на такой вопрос:
необходимо в функцию передать массив (указатель) без определенного числа
первых элементов.
В с++ это было бы очень просто:
byte *x = new byte [Length];
SomeFunc(&x[N]);
В С# такое не проходит. [/QUOTE]
В MSDN как всегда есть ответ:
Fixed Size Buffers (C# Programming Guide)
Обрати внимание на ссылки в конце статьи.
например : How to: Marshal Arrays Using PInvoke
[QUOTE=Ига]Каким образом можно удалить элементы из существующего массива???[/QUOTE]
Не понял суть вопроса...
Массив обычный, байтовый, который считывается из файла.
На плюсах можно было просто передать указатель на нужный элемент буфера.
В С# мне приходится создавать новый массив и копировать туда новые элементы, и только затем вызывать нужную функцию.
Ведь полюбому есть более простое и разумное решение.
Спасибо...
или же пльзоваться тем, что я показал, но это не удовлетворяет религию платформы.
или же пльзоваться тем, что я показал, но это не удовлетворяет религию платформы.[/quote]
Можно получить IEnumerator массива, "прокрутить" методом MoveNext и передать его в твою функцию.