如何从列表中返回对象属性

时间:2014-07-30 09:27:24

标签: c#

我有一个包含属性的对象列表:

public int Id { get; set; }
public string Name { get; set; }

我的清单是:

List<CategoriesList> Categories { get; set; }

如何编写将返回带有我在参数中传递的Id的对象名称的方法。我该如何归还?

这样的东西
return Categories.Select(x => x.Id == id).Name

但没有意义。

2 个答案:

答案 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;