List<int> types = Hospitals.GroupBy(h => h.TypeId, (key, group) => group.First())
.Select(t=> y.TypeId).ToList();
尝试从List<Hospital>
对象中获取不同的类型ID。我不是这些linq查询的专家,只是想知道是否有更好的方法。
答案 0 :(得分:5)
如果你想要的只是不同的TypeId字段,那就比它简单得多:
var types = Hospitals.Select(h => h.TypeId).Distinct();
只是原始查询的旁注:我经常发现这些操作的方法式语法比查询理解的可读性差。当然,它归结为个人风格,但到目前为止,我认为我没有在方法语法中编写GroupBy()或Join();对我来说,这只是流动得更好:
var types = from h in Hospitals
group h by h.TypeId into types
select types.Key;