Использование C ++ из C #

В настоящее время у меня есть некоторый код на C ++, который обрабатывает ‘char *** myArray’ намного быстрее, чем любой другой метод сравнения строк.

Я также оборачиваю свой c ++ в DLL и вызываю функции из C # GUI, который использует DataTable.

Мне любопытно, как я передаю свои данные в DataTable через мой char *** myArray.

Interface.cs:

DataTable table

cppFunctions.cpp:

int CheckColumn(char ***myArray)
{
int k = 0;
double weight = 0;
for (int i = 1; i < RowCount; i++)
{
for (int j = i + 1; j < RowCount; j++)
{
weight = nGram(myArray[i][colNum], myArray[j][colNum], 3);
k++;
}
}
return k;
}

Если я передаю int, double, string или любое другое простое значение, оно работает просто отлично.

0

Решение

DataTable является частью .NET FCL, поэтому вы не можете его передать. Причина работы int, string и т. Д. Заключается в том, что они являются примитивами. Вы можете сериализовать / десериализовать DataTable.

В качестве альтернативы вы можете использовать маршаллинг:
http://msdn.microsoft.com/en-us/library/ms235266.aspx

0

Другие решения


По вопросам рекламы [email protected]