Csharp/C#教程:使用LINQ在C#中构建级联列表分享


使用LINQ在C#中构建级联列表

我需要显示部门和子部门的列表。 我正在正确加载部门列表。

这时,我有:

var deparmentList = Departments.LoadList(); var departments = new List( from department in departmentList select new ListItem { Text = department.Name, Value = department.Id.ToString(), IsSelected = department.IsActive } ); 

我现在需要加载子部门列表。 每个子部门都有IdDepartmentIdName 。 但是,我只想让与所选部门相关联的子部门。 目前,我有以下内容:

 var subDepartmentList = SubDepartment.LoadList(); var subdepartments = new List( from subdepartment in subDepartmentList // where ? select new ListItem { Text = subdepartment.Name, Value = subdepartment.Id.ToString(), IsSelected = false } ); 

我不确定如何在两者之间进行连接或过滤。 我如何在LINQ中执行此操作?

 var selectedDepartmentSubDepartments = from dep in departments join subDep in subDepartmentList on dep.Value equals subDep.Id.ToString() where dep.IsSelected select new ListItem { Text = subDep.Name, Value = subDep.Id.ToString(), IsSelected = false }; var subdepartments = new List(selectedDepartmentSubDepartments); 

您可以添加一个where子句来检查是否存在至少一个关联和“选定”部门:

上述就是C#学习教程:使用LINQ在C#中构建级联列表分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var subDepartmentList = SubDepartment.LoadList(); var subdepartments = new List( from subdepartment in subDepartmentList where departments.Any(x => x.IsSelected && x.Value == subdepartment.DepartmentId.ToString()) select new ListItem { Text = subdepartment.Name, Value = subdepartment.Id.ToString(), IsSelected = false } ); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/955871.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐