将所有键添加到数组然后迭代?

时间:2012-05-12 12:29:48

标签: c# key

所以我希望能够将所有键添加到一个键数组中,以便我可以轻松地迭代它们并操纵它们。

所以我想要这样的东西:

一些伪代码。

Keys[] keys = ..All the keys..;
for(int i = 0; i<keys.Length; i++) {
   //do something with the key here.
}

基本上我想要的是将对象'Keys'中的所有键(它是一个默认的Object,而不是我自己的)添加到Keys []数组中,这样我就可以逐个遍历这些键。

http://puu.sh/uhLI

1 个答案:

答案 0 :(得分:2)

如果您想将枚举System.Windows.Input.Key转换为数组,那么您可以这样做:

Key[] keys = Enum.GetValues(typeof(Key)).Cast<Key>().ToArray();

当然你可以获得IEnumerable<Key>

IEnumerable<Key> keys = Enum.GetValues(typeof(Key)).Cast<Key>();

如果您的意思是要将枚举System.Windows.Forms.Keys转换为数组,则应用相同的代码

Keys[] keys = Enum.GetValues(typeof(Keys)).Cast<Keys>().ToArray();