利用c#中的c++

本文关键字:c++ 中的 利用 | 更新日期: 2023-09-27 18:28:15

我目前有一些c++代码,它处理"char***myArray"的速度比任何其他字符串比较方法都快。

我还将我的c++封装到DLL中,并从使用"DataTable"的c#GUI中调用函数。

我很好奇我是如何将"DataTable"数据交叉传递到"char***myArray"的。

接口.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或任何简单值,效果都很好。

利用c#中的c++

DataTable是.NET FCL的一部分,因此不能传递它。int、string等之所以有效,是因为它们是基元。您可以序列化/反序列化DataTable。

或者,您可以使用编组:http://msdn.microsoft.com/en-us/library/ms235266.aspx