我正在努力学习编程以获得乐趣(如果我的术语错误,请提前道歉)并找到了我正在努力解决的问题。我一直试图让一个程序与按下键的键进行交互(例如:你按“空格”,控制台将打印“你好世界”),我无法得到事件和方法进行交互。
我做错了什么;这是我错过的一个简单的步骤,还是我的结构完全出错?
谢谢!
代码
#!/bin/bash
# ^^^^- Important! /bin/sh doesn't have arrays; bash, ksh, or zsh will work.
# For readability, put common arguments in an array
common_args=(
--recursive
--content-encoding "gzip"
--content-type "text/html"
--cache-control "max-age=$MAXAGE"
--exclude "*"
--profile "$PROFILE"
)
# Record PIDs of the various jobs in an array
pids=( )
aws s3 cp ./test s3://test --include='*.html' "${common_args[@]}" & pids+=( $! )
aws s3 cp ./test s3://test "$S3BUCKET" --include='*.css' "${common_args[@]}" & pids+=( $! )
# If either background job failed, exit the script with the same exit status
for pid in "${pids[@]}"; do
wait "$pid" || exit
done
答案 0 :(得分:0)
从这开始:
public bool dKey_KeyDown()
{
var key = Console.ReadKey();
if (key == ConsoleKey.D)
{
return true;
}
else
{
return false;
}
}
答案 1 :(得分:0)
您发布的代码根本不起作用。
首先,你在没有任何参数的情况下调用dKey_KeyDown,但是这个方法的声明需要两个参数object sender
和KeyEventArgs e
...所以代码甚至不会编译,让单独跑。
其次,您可能已经从 Windows窗体编码的示例代码中复制并粘贴了此内容;在这种情况下,sender
和e
由Forms代码提供,作为其事件处理机制的一部分。我不会在这里详细介绍,但它不会在控制台应用程序中工作..您可以阅读更多相关信息here
为了帮助,这是一个简单的程序,可以做你想要的,它使用Console.ReadKey
using System;
namespace SimpleKey
{
class Program
{
static void Main(string[] args)
{
//make a variable to store the input from the user's keypress
ConsoleKeyInfo input = new ConsoleKeyInfo();
//keep executing the code inside the block ({..}) until the user presses the Spacebar
while (input.Key != ConsoleKey.Spacebar)
{
Console.WriteLine("Press SpaceBar...");
input = Console.ReadKey();
}
//now they have pressed spacebar, so display the message
Console.WriteLine("Hello World");
}
}
}
最后 - 祝贺决定接受编程!坚持下去,你会很高兴你做到了:)。