如何在Linq列表中选择指定的行?

3

我有一个 Linq 列表。我想选择某一行。我必须通过 foreach 循环来遍历行以获取指定的行,还是有其他方法。

我不想要的是...

编辑

specifiedRow = 13;

-

var linqList = from a in random.List
               where (a.id == idNum)
               select new {a.id, a.name, a.address};
int counter = 0;
foreach (var item in linqList) {
    if(counter == specifiedRow) {
        //do stuff
    }   
}

What I would like...

var linqList = from a in random.List
               where (a.id == idNum)
               //row is specified row in linqList
               select new {a.id, a.name, a.address};
3个回答

4
linqList.Skip(specifiedRow -1).FirstOrDefault()

这应该会给你想要的项目,如果行数不够,则返回null


1
如果您知道所需的行号,则可以使用Skip()方法。
例如,要获取第6行:
var linqList = from a in random.List
           where (a.id == idNum)
           Skip(5)
           select new {a.id, a.name, a.address};

1

您可以使用:

random.List.Where(a => a.id == idNum).Select(a => new {a.id, a.name, a.address}).ElementAt(counter);

我喜欢这种方法,因为它最明确。 - RQDQ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接