欢迎光临
我们一直在努力

程序员将两步LINQ查询转换为单个LET查询? – c#

程序员面试经验

我目前有以下代码:

var data = /* enumerable containing rows in your table */; var part = "X"; var items = new HashSet<int>(data     .Where(x => x.PartName == part)     .Select(x => x.ItemName)); var query = data.Where(x => items.Contains(x.ItemName)); 

items查找具有特定PartName的数据中的所有项目。

query返回该项目的数据中的所有记录。

我需要将其转换为单个LET语句(或其他形式),然后将其嵌入另一个较大的LINQ查询中。

例如,如果我的数据如下(记录):

ItemName PartName 1        A 1        B 2        A 3        C 

我正在寻找带有“ A”部分的物品,我需要最终结果是:

1        A 1        B 2        A 

一个建议是做这样的事情:

let a = data.GroupBy(x => x.ItemName)             .Where(g => g.Any(x => x.Partname == part))             .Select(g => new                 {                     ItemName = g.Key,                     PartNames = g.Select(x => x.PartName)                 })   

但是((a)中返回的数据与预期结果不匹配,这将返回以下内容:

1        A,B    // list of parts for that item 2        A 

而且我需要保持与上述相同的现有结构。

任何帮助将非常感激。

参考方案

听起来您需要来自组的SelectMany

   data.GroupBy(x => x.ItemName)             .Where(g => g.Any(x => x.PartName == part))             .SelectMany(g => g); 

与哪些运算符>>兼容 – java

我这里没有什么代码int b=3; b=b >> 1; System.out.println(b); 它可以完美工作,但是当我将变量b更改为byte,short,float,double时,它包含错误,但是对于变量int和long来说,它可以完美工作,为什么它不能与其他变量一起工作? 参考方案 位移位运算符(例如>>)与任何整数类型兼…

>> Python中的运算符 – python

>>运算符做什么?例如,以下操作10 >> 1 = 5有什么作用? 参考方案 它是右移运算符,将所有位“右移”一次。二进制10是1010移到右边变成0101这是5

LINQ RemoveAll代替循环 – c#

我有两个for循环,用于从列表中删除项目。我正在为这些循环寻找等效的LINQ语句for (Int32 i = points.Count – 1; i >= 0; i–) { for (Int32 j = touchingRects.Count – 1; j >= 0; j–) { if (touchingRects[j].HitTest(po…

如何知道是否由父母造成了回合(A => B => C => A) – c#

我有以下结构:[Employee] ID Manager1ID Manager2ID 场景:我要进行验证,以确保所选的Manager1或Manager2不会引起回合。换句话说,我想知道这种情况是否存在:A的经理是B,B的经理是C,C的经理也是A //无效A => B => C => A告诉用户A不是C的有效管理员,因为C已经是A的管理员。问…

Linq Any()的哪种使用效率更高? – c#

我有一个Linq查询,如下所示:return this._alarmObjectAlarmViolationList .Where(row => row.ObjectId == subId) .Where(row => row.AlarmInternalId == "WECO #1 (StdDev > UCL)") .W…

赞(0)
未经允许不得转载: 京大飞辅助网程序员面试-区块链javago面经 » 程序员将两步LINQ查询转换为单个LET查询? – c#

相关推荐

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址