非托管代码和托管代码之间的快速数据交换

时间:2010-06-01 13:11:37

标签: c# c++-cli

在不使用p / invoke的情况下,我从C ++ / CLI成功地集成了C语言中构建的第三方的DLL库的各种方法。

其中一种方法从数据库中检索信息并将其存储在不同的结构中。我编写的C ++ / CLI程序读取这些结构并将它们存储在List<>中,然后返回到相应的读取和使用在C#中完全编程的应用程序。我理解数据的双重处理(首先,填充几个结构,然后将所有这些结构填充到列表中<>)可能会产生不必要的重载,此时我希望C ++ / CLI具有关键字“yield”

根据上述情况,您是否有建议避免或减少此过载?

感谢。

1 个答案:

答案 0 :(得分:0)

您不需要yield关键字来创建迭代器。只需创建一个实现IEnumerator<T>的类和另一个实现IEnumerable<T>的类。