我有一个包含属性的对象列表:
public int Id { get; set; }
public string Name { get; set; }
我的清单是:
List<CategoriesList> Categories { get; set; }
如何编写将返回带有我在参数中传递的Id的对象名称的方法。我该如何归还?
像
这样的东西return Categories.Select(x => x.Id == id).Name
但没有意义。
答案 0 :(得分:1)
你可以试试这个:
CategoriesList list = Categories.FirstOrDefault(x => x.Id == id);
return (list != null) ? list.Name : null;
答案 1 :(得分:1)
你可以尝试这个:
return Categories.Where(x => x.Id == id).Select(x=>x.Name);
正如您从上面所看到的那样,您可以根据您拥有的ID过滤类别,然后选择Name
。
但是,由于我认为Categories
是唯一的,你可以尝试这个:
// Get the category with the given id. If there is not such a category then the method
// SingleOrDefault returns null.
var category = Categories.SingleOrDefault(x => x.Id == id);
// Check if the category has been found and return it's Name.
// Otherwise return an empty string.
return category != null ? category.Name : string.Empty;