访问List <list <string>&gt; </list <string>的元素

时间:2010-04-16 04:59:36

标签: c# generics

任何人都可以告诉我如何访问已添加到列表列表中的列表元素。 我会提到代码。

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]以验证条件。

4 个答案:

答案 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(...)