- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试学习 lambda 运算,但我不知道如何让它发挥作用。我所拥有的与我需要的相反,但我想不出我需要做什么来扭转它。
DataTable table1;
List<string> list1;
var duplicates = list1.AsEnumerable()
.Where(r => table1.AsEnumerable()
.Any(r2 => r2["ID"] as string == r.ToString()));
我基本上有一个购物车,在这个例子中是 table1
.当用户将商品添加到他们的购物车时,我想确保他们的购物车中不存在所述商品。所以我的 list1 有他们将要放入购物车的商品的 ID,数据表是他们当前的购物车内容,并且有一个名为 ID
的列.所以我希望结果是 list1
的剩余项目在 ID
中找不到我表格的列。
以上将获取购物车中的所有商品。
我以为只是改变 ==
至 !=
会工作,但它不会。我发现了一堆有类似问题的不同线程,但我发现的所有线程都在比较两个相同的对象,比如两个具有相同列的数据表或两个 List<string>
对象。他们说要使用关键字 Except
.每次我尝试复制这些结果时,我都会遇到语法问题。
这是我从另一个线程尝试过的一件事,但它给了我 select 语句的语法错误。我试图根据以下线程中的答案得出结论:Use LINQ to get items in one List<>, that are not in another List<>
var result = list1.Where(p => !table1.Select(p2 => p2["RegID"] == p.ToString()));
如果您能给我任何帮助,我将不胜感激!
--约瑟夫
编辑这是我的工作代码。
DataTable table1;
List<string> list1;
var duplicates = list1.AsEnumerable()
.Where(r => table1.AsEnumerable()
.All(r2 => r2["ID"] as string != r.ToString()));
最佳答案
你几乎明白了,只需要取反(!
)Any
表达式:
list1.Where(s => !table1.AsEnumerable().Any(r => r.Field<string>("ID") == s));
或者,您可以使用All
:
list1.Where(s => table1.AsEnumerable().All(r => r.Field<string>("ID") != s));
关于c# - 需要帮助来逆转此 Lambda 操作的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575702/
我构建了一个网页,用户可以在其中提交 PDF,然后将其插入到 mediumblob 中的 MySQL 数据库中以供以后检索。 一切正常,除非 PDF 包含图像或嵌入字体,在这种情况下,图像会损坏并且使
我正在开发一个应用程序,用户可以在其中创建 HTML 模板并将其保存到数据库中。模板由不同的组件组成,如文本、图像等。当我尝试使用撇号 ' 它给了我 mysql_error (显然)。所以我尝试 my
我制作了一个应用程序,可以通过低功耗蓝牙与设备通信。基本上,我的应用程序和这个设备都有自己的消息语法。它们以字节形式交换数据,并且这些数据中的每个值都是相反的。 我的问题是,在反转值后,当我将 3 字
我有一个嵌套列表,我想在用户将鼠标悬停在父列表项上时显示它。我是从左边移动的列表,当它处于下拉列表的位置时。我能够做到这一点,但是当用户取消悬停时,我想在它向左移动之前反向下拉,但我所做的一切都会导致
Android 电子市场应用程序的源代码不可用。我想做的是反转市场使用的网络协议(protocol)。目的是构建一个可以模拟手机并搜索特定短语的工具,从而返回目标应用程序的排名(或者可能是该特定关键字
如何反向re.escape? This blog from 2007说没有反向功能,但十年后仍然如此吗? Python 2 的 decode('string_escape') 不适用于所有转义字符(例
我是一名优秀的程序员,十分优秀!