如何使用linq查找列表中的列表conatins特定的字符串值 [英] How to find list within list conatins specific string value using linq

查看:128
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆