使用Linq根据Values自定义对象的属性过滤Hashtable

Noa*_*man 6 c# linq

我有一个同步的Hashtable,其中int作为键,一个自定义类称为Job值.我想基于我的Job类中的属性来调用此Hashtable JobSize. JobSize仅仅是一个enum与价值Small,Medium以及Large.

如果需要将其转换为另一种集合类型来执行此操作,则可以.

我知道有一个漂亮的LINQy方法来做到这一点,但我还没有找到它...

Noa*_*man 14

看起来这对我有用:

var smallJobs = hashTable.Values.Cast<Job>().Where(job => job.JobSize == JobSize.Small);
Run Code Online (Sandbox Code Playgroud)

" .Cast<Job>()"是必需的,因为Hashtable是非泛型的.