Мне было интересно, что лучше перевести код C ++ в C # или Pinvoking его из приложения C #
, что было бы лучше с точки зрения производительности и памяти и других
Если вы работаете в Windows, третий вариант (который отсутствует в вашем списке) является лучшим.Оставьте код на C ++ и скомпилируйте его с помощью C ++ / CLI.Тогда ваш код C # может использовать его напрямую, без необходимости использования P / invoke или перевода.
Есть хорошее описание того, как это сделать на MSDN .