我正在使用称为类别的IList
,它包含类型为FER
的项目,我想获得分配给列表中每个项目的Id
。我在下面编写了代码,但是它返回一个布尔值,并且Id
的类型为Long
请让我知道如何获取IList
代码
c =_rec.Categories.Where(i => i.Id);
答案 0 :(得分:3)
linq中的Where用于计算表达式,这就是为什么您的结果返回true的原因。如果要从对象返回特定属性,则应使用.Select()。下面将返回ID
类型的列表// All values in a list
var ids = _rec.Categories.Select(x => x.Id).ToList();
// Single Value if not a list
var id = _rec.Categories.Select(x => x.Id);
// Query for a specific category and return Id
var id = _rec.Categories.FirstOrDefault(x => x.Id == 123).Select(x => x.Id);
答案 1 :(得分:0)
不返回布尔值的地方,它需要一个您不提供的布尔类型。 示例:
var category = _rec.Categories.Where(i => i.Id == 1).SingleOrDefault();
要获取ID列表,请执行
var ids = _rec.Categories.Select(i => i.Id).ToList();