В C# термин «маршал коллекций» не соответствует какому-либо встроенному классу или методу. Кажется, это комбинация двух отдельных концепций: коллекций и маршалинга.
-
Коллекции. В C# коллекции используются для группировки связанных данных. Некоторые часто используемые классы коллекций в C# включают:
- List
: представляет динамический список элементов типа T. - Словарь
: представляет коллекцию пар ключ-значение. - HashSet
: представляет набор уникальных элементов. - Очередь
: представляет коллекцию в порядке очереди (FIFO). - Стек
: представляет коллекцию «последним пришел — первым обслужен» (LIFO).
- List
-
Маршалинг. Маршалинг — это процесс преобразования данных между различными типами или форматами, чтобы сделать их совместимыми для взаимодействия между управляемым и неуправляемым кодом. В C# для маршалинга можно использовать следующие методы и атрибуты:
- Marshal.StructureToPtr: маршалирует управляемую структуру в неуправляемый указатель.
- Marshal.PtrToStructure: маршалирует данные из неуправляемого блока памяти в управляемый объект.
- Marshal.SizeOf: извлекает размер неуправляемого типа.