将hashtable.Keys转换为List <int>或其他IEnumerable <int>

Sam*_*amo 10 c# hashtable key

我知道,我有其他选择,例如我可以维护一个单独的键列表.请不要提出其他选择.我只是想知道我是否可以解决这个问题.请不要问我我要解决的问题是什么,或类似的问题.这是一个纯粹而简单的CS问题.

我想知道是否有人知道从a获取密钥的方法Hashtable并将它们转换为某种List<int>或其他类型IEnumerable<int>(当然,我的密钥实际上是整数).

鉴于我可以毫无问题地做到这一点:

foreach (int key in hashtable.Keys)
Run Code Online (Sandbox Code Playgroud)

为什么这会给我错误?

(List<int>)hashtable.Keys
Run Code Online (Sandbox Code Playgroud)

Qui*_*son 18

如果您有可用的LINQ扩展方法,则可以执行以下操作.

List<int> keys = hashtable.Keys.Cast<int>().ToList();
Run Code Online (Sandbox Code Playgroud)

List<int> keys = hashtable.Keys.OfType<int>().ToList();
Run Code Online (Sandbox Code Playgroud)

可能会工作取决于自动拳击