C# Linq where 子句作为变量

2024-04-16

我正在尝试创建一个 LINQ 语句,其中 where 子句来自变量。例如:

string whereClause = address.zip == 23456;
var x = from something in someList where whereClause;

这可能吗?我似乎无法让它发挥作用。

thanks,

更新 - 我的 where 子句是预定义的,并且将基于用户输入,所以我认为这对我不起作用。基本上,whereClause 不是在方法中构造的,它是执行 LINQ 的方法的参数。我没有解释清楚,这里有一个更好的例子:

public void doLnq(string whereClause)
{
   var x = from something in someList where whereClause;
   dowork(x);
}

更新 - 只是总结一些建议并集中所有内容。

我无法使用 switch 来生成 where 子句,因为有很多可能性。

你们中的一些人发布的动态 linq 帖子看起来确实很有希望,但我在将 linq to sql 示例与我的 linq to object 问题相关联时遇到了麻烦。

和 @sLaks 浏览完 msdn 后http://msdn.microsoft.com/en-us/library/bb353734.aspx http://msdn.microsoft.com/en-us/library/bb353734.aspx我无法弄清楚您打算在哪里使用 AsQueryable

thanks,


您需要组装一个Expression<Func<T, bool>>并将其传递给Where()扩展方法:

Expression<Func<T, bool>> whereClause = a => a.zip == 23456;
var x = frSomeList.Where(whereClause);

EDIT:如果您使用 LINQ to Objects,请删除该词Expression创建一个普通委托。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# Linq where 子句作为变量 的相关文章

  • 如何自定义 DataTable 列的排序

    我需要对数据表列的值进行排序 该列包含字符串 整数或混合文本 例如 数据表列包含如下值 23 18 12 store 23 store a1 1283 25 如果我使用对值进行排序Dataview sort 方法会按此顺序产生 12 128
  • 将 2D 数组映射到 1D 数组

    我想用一维数组来表示一个二维数组 函数将传递两个索引 x y 和要存储的值 这两个索引代表一维数组的单个元素 并相应地设置它 我知道一维数组需要具有 arrayWidth arrayHeight 的大小 但我不知道如何设置每个元素 例如 如
  • 处理 LINQ sum 表达式中的 null

    我正在使用 LINQ 查询来查找列的总和 并且在少数情况下该值有可能为空 我现在使用的查询是 int score dbContext domainmaps Where p gt p SchoolId schoolid Sum v gt v
  • 实体框架代码优先 - 在另一个文件中配置

    使用 Fluent API 将表到实体的映射分开的最佳方法是什么 以便它全部位于单独的类中 而不是内联在 OnModelCreating 方法中 我目前在做什么 public class FooContext DbContext prote
  • 我应该在单元测试中使用 AutoMapper 吗?

    我正在为 ASP NET MVC 控制器方法编写单元测试 这些控制器依赖于IMapper 我创建的用于抽象 AutoMapper 的接口 使用 Castle Windsor 通过构造函数注入传入 动作方法使用IMapper从领域对象映射到
  • 使用 C# 使用应用程序密码登录 Office 365 SMTP

    在我们的 Office 365 公司帐户中实施两步身份验证之前 我的 C WPF 程序已成功进行身份验证并发送邮件 我使用了 SmtpClient 库 但现在我必须找到另一个解决方案 因为它不再起作用 我找不到任何使用 O365 应用程序密
  • 身份未映射异常

    System Security Principal IdentityNotMappedException 无法转换部分或全部身份引用 该错误仅在应用程序注册后出现一次 当 SecurityIdentifier 无法映射时 例如 返回 Ide
  • 对数字进行向上和向下舍入 C++

    我试图让我的程序分别向上和向下舍入数字 例如 如果数字是3 6 我的程序应该四舍五入最接近的数字 4 如果该数字是3 4 它将向下舍入为 3 我尝试使用ceil库获取 3 个项目的平均值 results ceil marks1 marks2
  • C++ 在 Vector 中使用不可分配的对象

    我想将对象列表存储在std vector 但对象包含引用且无法分配给 但是 我可以复制构造该对象 我能想到的唯一选择是使用指针来包装对象并在需要分配指针时重新设置指针 但这样做的语法会显着降低可读性 特别是在使用迭代器时 我更喜欢另一种选择
  • 根据拦截和返回值自动重试客户端WCF调用

    是否可以拦截 WCF 调用的结果并重试该操作 例如 操作的返回值可能包含状态代码 指示我传递到原始调用的会话令牌已过期 在这种情况下 我可以检索新的会话令牌并使用新的会话令牌重试调用 是否可以通过使用 WCF 拦截返回值 检查它 然后以对操
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 如何从枚举中选择随机值?

    给定 C 中的任意枚举 如何选择随机值 我没有找到这个非常基本的问题 我会在一分钟内发布我的答案作为任何人的参考 但请随意发布你自己的答案 Array values Enum GetValues typeof Bar Random rand
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • SSBO 是更大的 UBO?

    我目前正在 OpenGL 4 3 中使用 UBO 进行渲染 以将所有常量数据存储在 GPU 上 诸如材料描述 矩阵等内容 它可以工作 但是 UBO 的小尺寸 我的实现为 64kB 迫使我多次切换缓冲区 减慢渲染速度 我正在寻找类似的方法来存
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo
  • 当我读取 500MB FileStream 时出现 OutOfMemoryException

    我使用 Filestream 读取大文件 gt 500 MB 但出现 OutOfMemoryException 任何有关它的解决方案 我的代码是 using var fs3 new FileStream filePath2 FileMode
  • 在 C# 中读取/写入命令行程序

    我正在尝试与 C 的命令行程序进行对话 它是一个情绪分析器 它的工作原理如下 CMD gt java jar analyser jar gt Starting analyser 这是我想从我的 C 程序插入内容的地方 例如 I love y
  • 最后从同一类中的其他构造函数调用构造函数

    我在这里读到可以调用另一个构造函数从同一类中的另一个构造函数调用构造函数 https stackoverflow com questions 829870 calling constructor from other constructor

随机推荐

  • Jaxb 编组器 setproperty XSLT 抛出 PropertyException

    我尝试为我的编组器设置 XSL 属性 如下所示 我从这里复制的 https stackoverflow com questions 2153219 making jaxb generate an xml processing instruc
  • 使用 SwiftyJSON NSDictionary 到 json 字符串到 json 对象

    我有一个用例 我有一个字典数组 我需要它们作为 json 对象 var data Dictionary
  • 调用 REST API 的次数

    如果我有 HTTP REST API example getCount 示例代码 RestController public class CountController long count 0 Getmapping getCount pu
  • MATLAB中给定一组向量,如何获得最大独立向量?

    如果给我一组向量 它们可以作为矩阵的列向量提供 并且我想获得最大独立向量 那么最好的方法是什么 我可以一次向结果集中添加一个向量 看看新形成的矩阵的秩是否增加 但我感觉效率不是很高 当然 我可以回去做高斯消元法来解决这个问题 但我只是想知道
  • PDF jQuery Flip 书籍插件

    我已经上网几个小时了 有很多 jquery 翻页书插件可以使用 HTML 内容或图像 但我需要一个可以使用 PDF 加载翻页书页面的插件 而且它也必须在 IE 8 上运行 所以不能使用 HTML5 如果有人知道这样的插件请告诉我 我不想使用
  • Emacs 找不到 Flyspell/ispell

    在我的 Mac Snow Leopard 10 6 8 上 我使用的是 Emacs 24 2 的修改版本此处提供 http vgoulet act ulaval ca en emacs mac 利用 Emacs Speaks Statist
  • 文档类型图标未显示在自定义文件 MacOS 上

    我的应用程序需要有自定义文档支持 但我并没有从 xcode 中的文档模板开始 我确实通过遵循本教程的其他内容成功地正确加载和保存数据 https www brandpending com 2016 02 21 opening and sav
  • Erlang 17推荐使用地图替换记录,但是如何让mnesia支持地图?

    在 joe 的 Erlang 的重大改变 中http joearms github io 2014 02 01 big changes to erlang html http joearms github io 2014 02 01 big
  • 获取控制器中的当前区域性 asp.net-core

    我已经为我的视图设置了文化并更改了控制器中的文化 但我似乎无法找到如何知道我当前在控制器中使用的文化 我正在寻找类似的内容 public class HomeController Controller public async Task
  • 在android studio中使用java解析m3u文件

    我正在寻找用java解析m3u文件 频道名称然后是它的链接我已经用谷歌搜索过这个但无法找到解决方案 m3u 文件如下所示 EXTM3U EXTINF 1 VIP AR Bein Max 1 HD http portal onlineiptv
  • 玩超级卷轴中的固定元素

    我正在构建一个视差网站使用超级卷轴画 http johnpolacek github io superscrollorama 其中使用 jquery 和 css3 有一些逐帧动画 但最终这样做后 我遇到了一个问题 我正在尝试使用一些滚动插件
  • 对于相同的远程 URL,“git clone ...”有效,但“pip install ...”无效

    我想通过 pipelinenv 或 pip virtualenv 从私有的 可通过 ssh 访问的远程存储库安装包 当克隆工作时 git clone git remoteurl username package git 直接安装不会 pip
  • Kotlin 返回 Null 不能是非 null 类型的值

    我正在尝试为 Kotlin 函数返回空值 它给了我错误Null cannot be a value of a non null type 但我希望能够返回 null 尽管看起来该函数可以为 void 但它是一个接口重写 在这种情况下没有返回
  • 在 .NET 4.6 项目中引用 .NET Core 库

    也许我不明白 NET Core Library 的含义 但是当我尝试使用 Visual Studio 2015 在 NET 4 6 程序集中添加 NET Core Library 时 出现错误 无法添加对 的引用 我是不是理解错了什么 这是
  • codeigniter echo 查询结果数组

    模型内部的方法 public function get fichas query this gt db gt query SELECT FROM fichas return query gt result 然后 我尝试将此数据传递给控制器
  • 如何在 Python 中通过 Swig 使用 float **?

    我正在为一些 c 函数编写 swig 绑定 这些函数之一需要一个浮点数 我已经在使用了指针 i http www swig org Doc1 3 Library html Library nn4对于正常的指针并进行了研究卡瑞斯 i http
  • 长文本在 ICS 上会转到下一行,但在 GB 及以下版本上不会

    我第一次注意到这一点是在 AlertDialogs 中将整个消息放在第一行 即使我指定了新行 n 在 ICS 上它显示正确的方式 但对于我的生活 我无法让它在 GB 上工作 最近我又遇到了 我看不出它在 ICS 上运行良好但在 GB 及以下
  • 使用连续内存并具有保留功能的映射和集合

    我使用了几张地图和套件 缺乏连续内存以及大量的分配 解除 是性能瓶颈 我需要一个主要与 STL 兼容的映射和集合类 它可以将连续的内存块用于内部对象 或多个块 它还需要有一个reserve函数 以便我可以预先分配预期的大小 在我自己编写之前
  • 如何在循环期间的任意时刻检查按键按下情况?

    我正在尝试制作一个倒数到 0 然后开始向上计数的计时器 我正在使用时间和键盘模块 这keyboard https pypi org project keyboard来自 PyPi 的模块 一切都按预期进行 我可以按一个按钮关闭程序 但它只在
  • C# Linq where 子句作为变量

    我正在尝试创建一个 LINQ 语句 其中 where 子句来自变量 例如 string whereClause address zip 23456 var x from something in someList where whereCl