任何人都可以告诉我如何访问已添加到列表列表中的列表元素。 我会提到代码。
List<string> str = new List<string>();
List<List<string>> stud = new List<List<string>>();
已经定义了一个方法,它将数据插入str并在方法结束后。
stud.Add(str);
方法和stud.Add(str)按下按钮...... 所以,每次str包含不同的数据.......
问题是我想搜索整个螺柱,即所有创建的str,是否 STR [0] == textBox3.Text;
我在For循环中感到困惑...如何到达stud中的所有str [0]以验证条件。
答案 0 :(得分:5)
您可以使用
if (str.Any(stud.Any(s => s == textBox3.Text)))
{
// Do something...
}
答案 1 :(得分:3)
foreach(List<string> innerList in stud)
{
foreach(string str in innerLst)
{
if(!String.IsEmptyOrNull(str) && str.Equals(textBox3.Text))
{
...
}
}
}
答案 2 :(得分:0)
var stud = new List<List<string>>();
foreach( var list in stud )
{
foreach( item in list )
{
if ( item == textBox3.Text )
//...
}
}
如果您只想搜索第一个列表中的第一个项目,那么您可以这样做:
if ( stud.Count > 0 )
{
var list = stud[0]
if ( list.Count > 0 && list[0] == textbox3.Text )
//...
}
答案 3 :(得分:0)
SelectMany
方法会压缩您的列表元素:
// untested
var all = stud.SelectMany(...)
.Where(...)