Gil*_*lla 1 c# linq linq-to-objects dictionary list
我有一个
List<string>
List<string> students;
students.Add("123Rob");
students.Add("234Schulz");
Run Code Online (Sandbox Code Playgroud)
和a
Dictionary<string,string>
Dictionary<string, string> courses = new Dictionary<string, string>();
courses .Add("Rob", "Chemistry");
courses .Add("Bob", "Math");
courses .Add("Holly", "Physics");
courses .Add("Schulz", "Botany");
Run Code Online (Sandbox Code Playgroud)
我现在的目标是获得一个带有值的List - {Chemistry,Botany}
.
换句话说,我试图获得LINQ等价物
select value from [courses]
where [courses].key in
(
select [courses].key from courses,students where [students].id LIKE '%courses.key%'
)
Run Code Online (Sandbox Code Playgroud)
如何构建LINQ查询?
这是正确的答案:
var values = from c in courses
where students.Any(s => s.IndexOf(c.Key, StringComparison.OrdinalIgnoreCase) >= 0)
select c.Value;
Run Code Online (Sandbox Code Playgroud)
在我的机器上测试过.希望这可以提供帮助.