c++ - 如何为 boolinq 实现 First 和 FirstOrDefault?

标签 c++ visual-studio-2010 linq c++11

我在那里boolinq - 与 vs2010 兼容的开源 LINQ C++ 实现。我喜欢它的语法——它看起来非常接近 C#(粗略地看一下 at all other VS2010 LINQ C++ implementations)。然而它确实缺少一些基本的 LINQ 函数。我想知道如何将 .First(lambda expression).FirstOrDefault(lambda expression) 支持实现进去?

最佳答案

由于 c++ vector 具有 front()empty() 方法,您只需执行以下操作:

  • 对于 .First(lambda),您只需检查 .Where(lambda).ToVector().empty()。如果为真抛出异常,否则返回.Where(lambda).ToVector().front()

  • 对于 .FirstOrDefault(lambda),您只需检查 .Where(lambda).ToVector().empty()。如果为真返回默认值,否则返回.Where(lambda).ToVector().front()

关于c++ - 如何为 boolinq 实现 First 和 FirstOrDefault?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15404486/

相关文章:

c# - 我应该为独立部署使用什么版本?

c++ - 从 char 数组中剥离字符作为 C++ 中的指针传递

c++ - 带有 Visual Studio 和 cmake 的 CUDA

c++ - 'WCHAR* 类型的参数与 "const char*"不兼容'

asp.net - 如何调试成 AutoMapper 代码?

visual-studio-2010 - 获取注册表值 C#

c++ - 什么是测试文件以查看其是否为 zip 文件的好方法?

c# - Linq 查询 - 列表中的列表

c# - 在 LINQ 中使用两个条件获取单个记录

c# - List.Any() 在预期为 false 时返回 true