C# 编写的console程序中遇到的问题???

wangxi1240 2005-06-27 02:35:48
我在写一个console的程序,定义了一个server类,该类中有5个线程,在main函数中,定义一个server对象,然后启动server对象中的线程。
static void Main(string[] args)
{
Server objServer = new Server();
objServer.Start();
}
这样的话,线程启动了,main函数执行完毕,但程序因为server对象线程的关系,并不会退出。利用线程进行一些服务。

问题有两个:
一、如何获得一个单个的输入字符,类似与getchar函数的功能。
比如说,输入ctrl+q,程序捕获,然后处理,不需要输入回车。
我试了Console.Read()的方法,但该方法仍以回车作为输入的结束,有没有什么方法可以在按下ctrl+q键后,自动获得输入,然后处理,不希望输入回车。

二、如何强制退出console程序
console程序在main函数执行完毕后,并不退出,有没有什么机制,可以强制程序结束,我试验了Thread类的abort方法来结束server对象的线程,但好像不灵啊。

希望各位大侠指点!
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2005-08-07
  • 打赏
  • 举报
回复
不输入回车的方法
好像没有
smbeng 2005-06-28
  • 打赏
  • 举报
回复
UP
wangxi1240 2005-06-28
  • 打赏
  • 举报
回复
up
wangxi1240 2005-06-27
  • 打赏
  • 举报
回复
up
wangxi1240 2005-06-27
  • 打赏
  • 举报
回复
捕获输入没有问题,主要是不希望用户输入回车,console。read,需要以回车作为输入的结束,能不能只输入一个字符,不输入回车的方法啊。
wonton1021 2005-06-27
  • 打赏
  • 举报
回复
你可以试验一下if(Console.Read()='q')
类似的方法。ctrl+q 查一查MSDN看看有什么相应的ASCII
用(char)数字转一下
i三千 2005-06-27
  • 打赏
  • 举报
回复
up

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧