整理由LINQ查询产生的列表的有效方法

问题描述 投票:1回答:1

我正在尝试使用以下代码来简化查询结果:

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变大时,要永久展平它。

我想知道您是否有更有效的扁平化方法?

我查询数据的方式也可能出错。

vb.net list linq flatten
1个回答
0
投票

如果从每个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
© www.soinside.com 2019 - 2024. All rights reserved.