我为 MenuItem 定义了以下类
public class MenuItem
{
public int Id { get; set; }
public string Key { get; set; }
public int ParentId { get; set; }
public string Url { get; set; }
}
下面也是所有菜单项的集合
List<MenuItem> allMenu=new List<MenuItem>
{new MenuItem{Id=1,Key="Level1-A",Url="url1"},
{new MenuItem{Id=2,Key="Level1-B",Url="url2"},
{new MenuItem{Id=3,Key="Level2-A",Url="url3", ParentId=1},
{new MenuItem{Id=4,Key="Level3-AA",Url="url1", ParentId=3}};
现在我只有一个从数据库中检索到的菜单项,即Level3-AA
MenuItem item=new MenuItem{Id=4,Key="Level3-AA",Url="url1", ParentId=3};
allMenu.FindAll(m=>m.Id==item.Id) //gives only one element Level3-AA
//但我还需要包含所有父 ID 菜单项。
在这种情况下Level2-A
和Level1-A
如何在 C# 中包含它?欢迎使用 LINQ 或任何扩展方法