如何解决 C# 中的简单变量问题?
How to fix a simple variable problem in C#?
我正在尝试使用 String 作为变量在 C# 中修复我的项目中的一行代码,但它给了我一个错误,我尝试了多种修复方法,但我无法找到解决方案?您有什么建议可以解决我的问题?
//The problem.
string Key1;
string KeyHelper;
KeyHelper = "VirtualKeyCode.VK_";
Key1 = KeyHelper+"W";
while(true)
{
sim.Keyboard.KeyDown(Key1);
}
//The Result I want to reach.
sim.Keyboard.KeyDown(VirtualKeyCode.VK_W);
这是 visual studio 给我的错误:
Argument 1: cannot convert from 'string' to 'WindowsInput.Native.VirtualKeyCode'
您从一个字符串开始,并试图将其传递给一个接受枚举的方法。所以你需要使用Enum.Parse()
。请记住 Enum.Parse()
returns object
,因此您需要将结果转换为正确的枚举类型。
改变这个:
sim.Keyboard.KeyDown(Key1);
为此:
sim.Keyboard.KeyDown((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Key1));
我正在尝试使用 String 作为变量在 C# 中修复我的项目中的一行代码,但它给了我一个错误,我尝试了多种修复方法,但我无法找到解决方案?您有什么建议可以解决我的问题?
//The problem.
string Key1;
string KeyHelper;
KeyHelper = "VirtualKeyCode.VK_";
Key1 = KeyHelper+"W";
while(true)
{
sim.Keyboard.KeyDown(Key1);
}
//The Result I want to reach.
sim.Keyboard.KeyDown(VirtualKeyCode.VK_W);
这是 visual studio 给我的错误:
Argument 1: cannot convert from 'string' to 'WindowsInput.Native.VirtualKeyCode'
您从一个字符串开始,并试图将其传递给一个接受枚举的方法。所以你需要使用Enum.Parse()
。请记住 Enum.Parse()
returns object
,因此您需要将结果转换为正确的枚举类型。
改变这个:
sim.Keyboard.KeyDown(Key1);
为此:
sim.Keyboard.KeyDown((VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Key1));