以下代码行从数据库中获取少量行,并将值Table.Id放入整数列表中。我想有一种方法可以将这段代码压缩成一行,但我不确定如何。
var result db.Table.Where(a=>a.Value>0).ToList();
List<int> ids = new List<int>();
foreach(var row in result){
ids.Add(row.Id);
}
任何帮助将不胜感激,谢谢!
编辑:我的标题是数组,我的例子有一个列表,其中一个很好。对不起,如果有任何混淆。
答案 0 :(得分:5)
var ids = db.Table.Where(a => a.Value > 0).Select(row => row.Id).ToList();
除非我的关闭,否则应该做到这一点
答案 1 :(得分:0)
试试这个:
var result = db.Table.Where(a=>a.Value>0)
.Select(a=>a.Id)
.ToList();
答案 2 :(得分:0)
您也可以使用List.ForEach Method。如下所示:
db.Table.Where(a=>a.Value>0).ToList().ForEach(delegate(Table row) { ids.Add(row.Id); });