考虑以下类:
Public Class Employee
Public State As String
Public Dept As String
Public Status as Integer
End Class
我需要从四个记录中查询一个不同的值:listEmployees
oEmp = New Employee
oEmp.Dept = "HR"
oEmp.State = "Kansas"
oEmp.Status = 1
listEmployees.Add(oEmp)
oEmp = New Employee
oEmp.Dept = "HR"
oEmp.State = "Texas"
oEmp.Status= 3
listEmployees.Add(oEmp)
oEmp = New Employee
oEmp.Dept = "HR"
oEmp.State = "Texas"
oEmp.Status= 5
listEmployees.Add(oEmp)
oEmp = New Employee
oEmp.Dept = "DEV"
oEmp.State = "Texas"
oEmp.Status= 7
listEmployees.Add(oEmp)
我需要查询做的是返回不同的Deparments where State
='Texas'。但我需要能够在Where
子句中添加多个案例。因此,另一个查询可能需要返回不同的 Status 的 where State
= 'Texas' 和Dept
= 'HR'。
总是只有一个领域我需要与众不同。
因此,我的第一个查询示例的结果将是“HR”和“DEV”,因为它们是将“德克萨斯”作为州的不同部门。第二个查询的结果将是“3”和“5”,因为它们是不同的状态,其中州是“德克萨斯”,部门是“人力资源”。
更新:
这是我为 Query #1 所做的工作:
Dim test = (From emp As Employee In listEmployees
Where emp.State = "Texas"
Select emp.Dept).Distinct()
但是,如果我指定State
不存在的东西,例如“TTexas”,我会得到以下异常(代码不会爆炸,但如果我test
在此行执行后检查 Visual Studio 中的变量,我会得到这个) :
引发了“System.Linq.SystemCore_EnumerableDebugViewEmptyException”类型的异常。在 System.Linq.SystemCore_EnumerableDebugView`1.get_Items()
这是正常的 LINQ 行为吗?