【问题标题】:Add all Keys to an array then iterate?将所有键添加到数组然后迭代?
【发布时间】:2012-05-12 12:29:48
【问题描述】:

所以我希望能够将所有键添加到键数组中,以便我可以轻松地遍历它们并操作它们。

所以我想要这样的东西:

一点伪代码。

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

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

http://puu.sh/uhLI

【问题讨论】:

  • 在任何人能够回答之前,您需要先明确地澄清您的问题。请阅读tinyurl.com/so-hints
  • for 是在第二节编程课上学习的最基本的控制结构之一。还有什么比这更简单的?
  • Doing 部分并不是我真正需要的,我只需要一种方法将所有键放在一个数组中。
  • Keys这个数据类型是什么?它是您自己的东西,还是来自库(例如 ADO.NET)?钥匙从哪里来?
  • ..All the keys..是什么实例?

标签: c# key


【解决方案1】:

如果你的意思是要将枚举System.Windows.Input.Key变成一个数组,那么你可以这样做:

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

当然你可以得到IEnumerable&lt;Key&gt;作为

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

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

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

【讨论】:

  • System.Windows.Input.Key 是默认库吗?它似乎无法引用或导入它。
  • @DuncanPalmer 它在 WindowsBase.dll 中 - 可能是 WPF 特定的。
猜你喜欢
  • 1970-01-01
  • 2012-08-27
  • 2022-01-13
  • 1970-01-01
  • 2019-08-05
  • 2016-11-30
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多