Существует множество способов решения этой проблемы, но все они гораздо сложнее, чем у вас есть в настоящее время.
Вероятно, самый простой способ передать строку, выделенную в C ++, в C # - это BSTR
.Это позволяет вам выделить строку в вашем C ++ и позволить C #-коду освободить ее.Это самая сложная задача, с которой вы сталкиваетесь и сортируете ее, поскольку BSTR
решает ее тривиально.
Поскольку вам нужен список строк, вы можете изменить его на сортировку в виде массива BSTR
.Это один из способов, вероятно, я бы выбрал маршрут, но есть много других подходов.