Вы не получите прямой эквивалент vector
в C #, потому что у вас нет контроля над тем, как распределяется память.std::vector
всегда будет иметь свою память в непрерывном блоке;поэтому при необходимости вы можете получить к нему доступ следующим образом:
std::vector<int> v;
// add items to v
CallSomeCFunction(&v[0]);
C # не дает вам никакого контроля над тем, как распределена память, поэтому различие между вектором / массивом и списком отсутствует.Вы можете использовать контейнер List
, что вы хотите.