如何使用linq查找列表中的列表conatins特定的字符串值 [英] How to find list within list conatins specific string value using linq
本文介绍了如何使用linq查找列表中的列表conatins特定的字符串值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨朋友们,
我有一个更新,可以在列表集合的列表中找到字符串内容,
如何使用LINQ解决这个问题,任何一个给出更好的C#或Vb.net解决方案
我尝试过:
MainList As List(Of List(Of String))= Nothing
For Each subList As List(Of String)在MainList
如果subList(1)= Searchvalue那么
retun true
EndIf
下一个
解决方案
请看一下例子:
Dim MainList As List( Of List( Of 字符串))= 新列表( Of 列表( 字符串))来自_
{_
新列表( Of 字符串)来自{ a, b, c},_
新列表( Of String )来自{ d , a, f, c, h},_
新列表( 字符串)从{ 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()
结果:
'#1
List< String> {a,b,c}
List< String> {d,a,f,c,h}
'#2
OrigValue 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:
'#1
List<String> {"a", "b", "c"} List<String> {"d", "a", "f", "c", "h"}
'#2
OrigValue 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
这篇关于如何使用linq查找列表中的列表conatins特定的字符串值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文