Показать сообщение отдельно
Старый 01.10.2016, 21:43   #4
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Передача сложных данных

Ты не понял мой вопрос про int[3]. Массивы в структурах/классах можно хранить 2 способами - как указатель на какой-то массив (скорее всего в куче), это самый обычный для C# способ:
struct A {
public int[] Coordinates;
}

А можно прямо в структуре:
unsafe struct A {
public fixed int Coordinates[3];
}

То есть в варианте 2 layout у структуры - 3 интежера, а в 1 варианте всего 1 указатель куда-то на массив int[]. Это важно для pinvoke т.к. при передаче структур там тупо память кусками копируется, так что надо чтобы совпадало с нативным вариантом.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (02.10.2016)