更新时间:2022-11-14 12:09:25
请看一下例子:Dim MainList As List( Of List( Of 字符串))= 新列表( Of 列表( 字符串))来自_
{_
新列表( Of 字符串)来自{ a, b, c},_
新列表( Of String )来自{ d , a, f, c, h},_
新列表( 字符串pan>)从{ i, c},_
新列表( Of String )来自{ k, d, h},_
新列表( Of 字符串)来自{ e, o, p},_
新列表( 字符串)来自{ q, f, s, g, u},_
新列表( String )来自{ v, z, g, z} _
}
Dim SearchValue 作为 字符串 = a
' #1
' 返回包含serached值的子列表
Dim subListContainingSerachedValue = _
MainList _
。 Where( Function (x)x.Contains(SearchValue))_
.ToList()
' #2
' 返回AnonymousType(Of String,String,Boolean)
Dim OnlySearchedValues = _
MainList _
.SelectMany(功能(x)_
x。选择(功能(y)新 使用 _
{
.OrigValue = y,_
.SearchedValue = SearchValue,_
.IsOnTheList = y.Any( Function (z)z = SearchValue)_
})_
)_
.ToList()
结果:
'#1List< String> {a,b,c}
List< String> {d,a,f,c,h}
'#2OrigValue SearchedValue IsOnTheList
aa True
ba False
ca False
da False
aa True
fa False
ca假
ha假
ia假
ca假
ka假
da假False
ha假
ea假
oa假
pa假
qa错误
fa错误
sa错误
ga错误
ua错误
va错误
za错误
ga错误
za错误
Hi Friends,
I have one update to find string content is available in list within list collection,
How to solve this using LINQ, Any one give the better solution in C# or Vb.net
What I have tried:
MainList As List(Of List(Of String)) = Nothing
For Each subList As List(Of String) In MainList If subList(1)=Searchvalue Then retun true EndIf Next
Please, take a look at example:Dim MainList As List(Of List(Of String)) = New List(Of List(Of String)) From _ { _ New List(Of String) From {"a","b","c"}, _ New List(Of String) From {"d","a","f", "c", "h"}, _ New List(Of String) From {"i","c"}, _ New List(Of String) From {"k","d","h"}, _ New List(Of String) From {"e","o","p"}, _ New List(Of String) From {"q","f","s", "g", "u"}, _ New List(Of String) From {"v","z","g","z"} _ } Dim SearchValue As String = "a" '#1 'returns sublists containing serached value Dim subListContainingSerachedValue = _ MainList _ .Where(Function(x) x.Contains(SearchValue)) _ .ToList() '#2 'returns AnonymousType(Of String, String, Boolean) Dim OnlySearchedValues = _ MainList _ .SelectMany(Function(x) _ x.Select(Function(y) New With _ { .OrigValue = y, _ .SearchedValue = SearchValue, _ .IsOnTheList = y.Any(Function(z) z=SearchValue) _ }) _ ) _ .ToList()
Results:
'#1List<String> {"a", "b", "c"} List<String> {"d", "a", "f", "c", "h"}
'#2OrigValue SearchedValue IsOnTheList a a True b a False c a False d a False a a True f a False c a False h a False i a False c a False k a False d a False h a False e a False o a False p a False q a False f a False s a False g a False u a False v a False z a False g a False z a False