如何使用 lambda 表达式来过滤 DataRow?

2024-01-13

如何在数据表中搜索具有 Col1="MyValue" 的行

我在想类似的事情

Assert.IsTrue(dataSet.Tables[0].Rows.
    FindAll(x => x.Col1 == "MyValue" ).Count == 1);

但这当然行不通!


您可以使用LINQ 到数据集 http://msdn.microsoft.com/en-us/library/bb386977.aspx去做这个:

Assert.IsTrue(dataSet.Tables[0].AsEnumerable().Where(
    r => ((string) r["Col1"]) == "MyValue").Count() == 1);

请注意,您也可以在不调用 Assert 的情况下执行此操作:

dataSet.Tables[0].AsEnumerable().Where(
    r => ((string) r["Col1"]) == "MyValue").Single();

如果行数不等于 1(因此,调用Single),那么就会抛出一个异常,并且那个未处理的异常should你的测试用例失败。就我个人而言,我喜欢后者,因为它有更清晰的语义。

上式还可以进一步简化为:

dataSet.Tables[0].AsEnumerable().Single(
    r => ((string) r["Col1"]) == "MyValue");

此外,您还可以利用Field method http://msdn.microsoft.com/en-us/library/system.data.datarowextensions.field.aspx on the DataRowExtensions class http://msdn.microsoft.com/en-us/library/bb348900.aspx简化对字段的类型安全访问(以及提供转换的额外好处DBNull http://msdn.microsoft.com/en-us/library/system.dbnull.aspx到 .NET 中的 null 对应项):

dataSet.Tables[0].AsEnumerable().Single(
    r => r.Field<string>("Col1") == "MyValue");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 lambda 表达式来过滤 DataRow? 的相关文章

  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • 在 C# 中生成 HMAC-SHA1

    我正在尝试使用 C 来使用 REST API API 创建者提供了以下用于 hmac 创建的伪代码 var key1 sha1 body var key2 key1 SECRET KEY var key3 sha1 key2 var sig
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • mprotect 之后 malloc 导致分段错误

    在使用 mprotect 保护内存区域后第一次调用 malloc 时 我遇到分段错误 这是执行内存分配和保护的代码片段 define PAGESIZE 4096 void paalloc int size Allocates and ali
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • TcpClient 在异步读取期间断开连接

    我有几个关于完成 tcp 连接的问题 客户端使用 Tcp 连接到我的服务器 在接受客户端后listener BeginAcceptTcpClient ConnectionEstabilishedCallback null 我开始阅读netw
  • 从 Code::Blocks 运行程序时出现空白控制台窗口 [重复]

    这个问题在这里已经有答案了 当我尝试在 Code Blocks 中构建并运行新程序时 控制台窗口弹出空白 我必须单击退出按钮才能停止它 它对我尝试过的任何新项目 包括 Hello world 都执行此操作 奇怪的是 它对于我拥有的任何旧项目
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • 为什么具有相同名称但不同签名的多个继承函数不会被视为重载函数?

    以下代码片段在编译期间产生 对 foo 的调用不明确 错误 我想知道是否有任何方法可以解决此问题而不完全限定对 foo 的调用 include
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • 如何随着分辨率的变化自动调整大小和调整表单控件

    我注意到某些应用程序会更改控件的位置以尽可能适应当前的分辨率 例如 如果窗口最大化 则控件的设置方式应使整个 GUI 看起来平衡 是否可以使用 C 在 Visual studio 2010 中制作或实现此功能 Use Dock http m
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • WPF。如何从另一个窗口隐藏/显示主窗口

    我有两个窗口 MainWindow 和 Login 显示登录的按钮位于主窗口 this Hide Login li new Login li Show 登录窗口上有一个检查密码的按钮 如果密码正确 我如何显示主窗口 将参数传递给 MainW
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 类中不允许使用不完整类型,但类模板中允许使用不完整类型

    以下为无效代码 struct foo struct bar bar x error field x has incomplete type struct bar int value 42 int main return foo x valu
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • Linux 下 Java 的虚拟内存使用情况,使用了太多内存

    我在 Linux 下运行 Java 应用程序时遇到问题 当我使用默认最大堆大小 64 MB 启动应用程序时 我看到使用 tops 应用程序为该应用程序分配了 240 MB 虚拟内存 这会给计算机上的一些其他软件带来一些问题 而计算机的资源相
  • 调整标题大小 onscroll React

    我基本上需要在 React 中重写这个 codepen https codepen io lili2311 pen dJjuL https codepen io lili2311 pen dJjuL function resizeHeade
  • 伪随机数生成器给出相同的第一个输出,但随后表现如预期

    使用随机类和时间种子 NULL 均匀分布总是给出相同的第一个输出 即使使用不同的编译 但第一个输出之后的行为就像您期望的伪随机数生成器的行为一样 这是建筑造成的 还是我使用不当 MWE include
  • 在“ForEach”上引用初始值设定项“init(_:content:)”要求“Planet”符合“可识别”

    我目前正在构建一个 ios 应用程序 似乎有以下问题 Referencing initializer init content on ForEach requires that Planet conform to Identifiable
  • 适用于 Android 的 OpenGL ES 2.0 中的纹理

    我是 OpenGL 新手 我正在通过使用 ES 2 0 为 Android 制作 2D 游戏来自学 我首先创建一个 Sprite 类 该类创建一个平面并向其渲染纹理 为了练习 我有两个 Sprite 对象 它们在同一位置交替绘制 我在 ES
  • 普通用户无法读取/proc/net/dev

    我很确定我在这里遗漏了一些东西 但我不确定到底是什么 这是 root 可以看到的 root opteron16 ls l grep proc dr xr xr x 290 root root 0 2012 01 14 02 03 proc
  • Caddy - 在本地域上设置 HTTPS

    我想将 HTTPS 添加到我的本地域 但是我们无法在本地主机上执行此操作 当我使用此 Caddyfile 运行时 我的网站运行良好 localhost 2020 bind ADDRESS proxy http 192 168 100 82
  • Android中的ListView打开超链接

    有什么办法可以显示名称吗 TechCrunch Twit NASA 在列表视图中 当用户单击其中一个时 它应该打开一个意图 其中包含列出的相应网站的链接 任何想法表示赞赏 如果你不想要ListView由数据库生成 并且您希望将每个网站添加到
  • 无论如何将构造函数参数传递给 JAXB 适配器?

    我在我编写的 WebService 中使用 Spring 3 IOC 和 JAXB JAX WS 我现在遇到一个小问题 数据必须在返回给消费者之前进行四舍五入 因为它们无法处理值的完整精度 为了最大限度地减少对 WS 设计和计算的影响 我选
  • Eclipse:有没有办法快速导出JAR

    所以这可能看起来有点模糊 快 到底有多快等等 好吧 我只是想知道是否有一种方法可以比以下更快地导出 JAR 文件 File gt Export gt JAR File等等等等 就像我可以Ctrl Drag到资源管理器并导出项目标题和 jar
  • 删除继承的 ASP.NET Core 应用程序设置

    我的启动中有以下设置 var builder new ConfigurationBuilder AddJsonFile appsettings json true true AddJsonFile appsettings env Envir
  • Google Charts 堆叠了列,每个列都有不同的注释

    我希望你能帮助我解决这个问题 我有一个堆积柱形图 所有柱形图的每列中都有两个要堆积的值 我已经成功创建了图表 但我需要为每列的每一部分添加注释 我不知道它的正确名称 指示该部分在其自己的列中所代表的总数的百分比 在下面给出的示例中 我需要设
  • 如何在 Java Swing for Hangman 游戏中获取从侦听器更新的文本字段?

    我正在尝试从 Hangman 程序编写代码 我不确定这个想法是否正确 我正在考虑在文本字段中添加破折号 当用户按下按钮时 该破折号必须动态更改 例如 如果用户按下下面代码中的 A 按钮 则破折号应更改为 A 即用户猜对了字母A 我仍然对如何
  • 将带点或逗号的字符串转换为浮点数

    我总是喜欢在函数中输入以获取范围从 0 1 到 999 9 的数字 小数部分始终用 分隔 如果没有小数则没有 例如 9 或 7 无论本地化如何 如何将此字符串转换为浮点值 某些国家 地区使用 来分隔数字的小数部分 我总是用 来获取它 这取决
  • 在进程之间移动数据

    我问这个问题的原因是寡妇不支持进程间通信的好方法 所以我想为Windows进程之间的通信点创建一个DLL 线程由一个进程拥有 不能交给另一个进程 每个线程都有自己的堆栈 如果加载 DLL loadlibray 并调用 DLL 函数 该函数会
  • 使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图

    我有一个来自 UScensus2010 包的 SpatialPolygonsDataFrame 我正在尝试创建一个分区统计图 当我这样做时 这将按预期工作 data colorado county10 choropleth colorado
  • 如何更改图表系列颜色

    我有一个系列 它用数据库中的记录填充我的图表 显示了 7 条记录 但颜色相同 我试图改变每个条的颜色但没有成功 下面是我尝试过的行 但我给了我一个大的绿色条 private void button1 Click object sender
  • “NoneType”对象没有属性“load_module”

    File
  • Rails 3 - 如何创建 JSON 对象以存储在数据库中

    我正在创建一个监视多个模型的 AuditLog 观察者 我希望观察者有一个 after create 它创建一个存储在数据库列中的 JSON 对象 它将包含诸如 photoid 123 photoname asdasd Creator id
  • 如何使用 lambda 表达式来过滤 DataRow?

    如何在数据表中搜索具有 Col1 MyValue 的行 我在想类似的事情 Assert IsTrue dataSet Tables 0 Rows FindAll x gt x Col1 MyValue Count 1 但这当然行不通 您可以