【问题标题】:Have to save data in list array[ ]. first check two list array intersect them and give the remaining values必须将数据保存在列表数组[]中。首先检查两个列表数组与它们相交并给出剩余的值
【发布时间】:2021-01-11 15:25:44
【问题描述】:
var data = db.User_Register_Events.Where(x => x.UserTable.User_id == "Rehman").Select(x => x.EventTable.Slot.Slot_Id).ToList();           

var data2 = db.User_Register_Events.Where(x => x.UserTable.User_id == "Muhammad").Select(x => x.EventTable.Slot.Slot_Id).ToList();

List<int> data3 = data.Concat(data2).ToList();
List<Slot> AllSlots = db.Slots.Where(x => x.Slot_Id > 1).ToList();

我应该写什么查询来首先比较 (data3) 和 (AllSlots),然后将不匹配的值从 AllSlots 传递到数组列表视图?

我试过了,但这不是一个有效的解决方案:

List<string> intersect = AllSlots.Except(data3).ToAray();


查看具有数据的变量数据(例如,11、12、13、24、55),这些基本上是您在数据库模式中看到的槽 ID。 第二个变量data2存储(11,33,52,13,23)

data和data2都存储在list中:

List<int> data3 = data.Concat(data2).ToList();

还有一个存储所有(“SLOT ID”)的列表:

(11,12,13,14,15,16,21,22,23,24,25,26............51,52,53,53,55, 56)

List<Slot> AllSlots = db.Slots.Where(x => x.Slot_Id > 1).ToList();

我想要的是... 我必须处理 ("data3") 和 ("AllSlots")

我必须检查/打印 ("AllSlots") 列表中的所有值,除了 data3 值...

【问题讨论】:

  • 顺便说一下不需要ToLists
  • 如果你说你需要一个相交,为什么你从不使用 Enumerable.Intersect?
  • 方法是ToArray()不是ToAray()...
  • 它可以在一个查询中解决,但我们需要User_Register_EventsSlots的模型类。

标签: c# asp.net-mvc list


【解决方案1】:

根据您的编辑,现在看起来像您想要的那样:

allSlots.Except(data1.Union(data2));

如果抱怨因为 allslots 存储 Slot 对象而无法正常工作,而 data1.Union(data2) 是整数列表,您可以这样做:

allSlots.Where(s => !data1.Contains(s.Slot_Id) && !data2.Contains(s.Slot_Id));

您不需要数据3。如果你在 allSlots、data1 或 data2 中有数千个东西,那么对 Contains 使用 HashSet 会更高效,但对于每个条目中的几十个条目,这就足够了

【讨论】:

    【解决方案2】:

    似乎您实际上想要析取(data1 中不在 data2 中的所有内容,以及 data2 中不在 data1 中的所有内容)。 HashSet 有一个有用的功能:

    new HashSet<int>(data1).SymmetricExceptWith(data2);
    

    对于 {1,2} 的 data1 和 {2,3} 的 data2,哈希集具有 {1,3}

    【讨论】:

    • 我已经更新了帖子,请重新检查。所以场景变得更加清晰
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 2021-12-28
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 2015-12-21
    • 2020-05-24
    相关资源
    最近更新 更多