C++/Cli 中Linq 的替代实现, 不干净
来源:互联网 发布:php代码编写 编辑:程序博客网 时间:2024/05/02 00:06
C++11中lamda表达式由编译器编译为函数对象, 即 是一个对象, 而C#中的lamda表达式解释为delegate, 即函数指针, 故不能通用.
如果要在C++/Cli中使用 类似 C# 中的 .Select<TSource, TResult> 只能gcnew delegate
ListView ^ listView = gcnew ListView;
ListViewItem ^ item1 = gcnew ListViewItem; item->Tag = System::IntPtr(pFoo1);
ListViewItem ^ item2 = gcnew ListViewItem; item->Tag = System::IntPtr(pFoo2);
... ...
要得到 IEnumable<System::IntPtr> :
IEnumable<System::IntPtr> ^ ptrList =
System::Linq::Enumerable::Select<ListViewItem^, System::IntPtr>(
System::Linq::Enumerable::Cast<ListViewItem ^>(listView1->SelectedItems),
gcnew System::Func<ListViewItem^, System::IntPtr>(toIntPtr);
需要额外定义函数
System::IntPtr toIntPtr(ListViewItem ^ item) { return (System::IntPtr)item->Tag; }
- C++/Cli 中Linq 的替代实现, 不干净
- 清楚电脑中卸载不干净的垃圾文件
- 看似干净的自来水原来是不干净的
- 33、C#:linq查本集合中不包含于另一个集合的元素
- PHP中http_build_query的替代函数实现
- 【原创】电脑病毒清除不干净的原因
- 文件卸载不干净的解决办法
- sublime卸载不干净的问题
- 关于Winform中SendKeys不生效的替代方法
- PHP流程控制中不常用的替代语法
- C++/CLI的用途
- C++/CLI的用途
- 完美的C++/CLI
- C++/CLI:第一流的CLI语言
- C++/CLI:第一流的CLI语言
- c++/cli中app.config
- 完美的C++:C++/CLI
- 完美的C++:C++/CLI
- iOSAPP启动效果复杂动画之抽丝剥茧
- 《离散数学及其应用》读书笔记【三】计数
- PHP getOracleClobValue
- tomcat7 pom配置
- 数据分析入门整理(一)
- C++/Cli 中Linq 的替代实现, 不干净
- iOS 友盟分享 <小白集成>
- java多线程--公平锁(一)
- C++的构造函数和析构函数
- ReportViewer 類別
- [unity] unity学习——滚球游戏
- 关于HTA
- XML文件读写方法
- 使用TextInputLayout创建一个登陆界面