Неужели данных .NET Copy Copy Marry обратно и обратно, или он прикрепляет массив?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Неужели данных .NET Copy Copy Marry обратно и обратно, или он прикрепляет массив?

Сообщение Anonymous »

У меня есть эта подпись метода COM, объявленная в C#: < /p>

Код: Выделить всё

void Next(ref int pcch,
[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)]
char[] pchText);
< /code>

Я называю это так: < /p>

int cch = 100;
var buff = new char[cch];
com.Next(ref cch, buff);
< /code>

Сначала скопируют ли слой Interop .net весь массив временному неуправляемому буферу памяти, а затем скопируйте его обратно? Или массив автоматически закрепляется и передается с помощью ссылки?*pcch = 1;
pchText[0] = L'A';
pchText[1] = L'\x38F'; // 'Ώ'
Я получаю 'ώ' обратно, когда я проверяю бафф [1] в C# после возврата. Но я не думаю, что это убедительное доказательство того, что массив прикрепляется, а не скопируется взад -вперед.

Подробнее здесь: https://stackoverflow.com/questions/250 ... -the-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»