我正在尝试使用以下代码来简化查询结果:
Dim listHmisNum = (From plc In plctags
Where plc.xType.ToUpper.Contains("HMINUM")).ToList
Dim listHmisNums = (From hmisnum In listHmisNum
Select (From plc In plctags
Where plc.xName.Contains(hmisnum.xName) And
plc.xValue <> "{...}")).ToList
Dim flattenList = (From list In listHmisNums
From item In list
Select item).ToList
变量listHmisNums具有类型System.Collections.Generic.List(Of System.Collections.Generic.IEnumerable(Of MyType))
我能够对其进行展平,但是我的问题是,当我的列表listHmisNums
变大时,要永久展平它。
我想知道您是否有更有效的扁平化方法?
我查询数据的方式也可能出错。
如果从每个plctags
元素的listHmisNum
列表切换到相反的位置,性能会提高吗?
Dim listHmisNum = (From plc In plctags
Where plc.xType.ToUpper.Contains("HMINUM")
Select plc.xName).ToList
Dim flattenList = (From plc In plctags
Where listHmisNum.Any(Function (n) plc.xName.Contains(n)) And plc.xValue <> "{...}"
Select plc).ToList