c#如何使控制台方法执行完成后继续运行

qq_30080691 2015-09-10 01:32:03
比如
WebAPI.dooGet(); //这是一个方法
Console.ReadLine();
在运行
运行结束之后 读取到了readline ,我想使他能自动的回车继续运行dooget这个方法,用threading试过, 但是间隔时间内,事件没执行完,它就会新建一个线程,从头开始执行这个事件,而上一个线程继续执行,这样就会出现,太多线程,而且做的事情会导致重复,希望可以有人告诉我 如何使用
...全文
1795 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_30080691 2015-09-10
  • 打赏
  • 举报
回复
引用 9 楼 Z65443344 的回复:
[quote=引用 7 楼 qq_30080691 的回复:] [quote=引用 5 楼 Z65443344 的回复:] 没看懂你到底想干什么. 不是说按下回车后继续执行吗? 如果你不想按回车,就想让它反复执行,那么别加Console.ReadLine();不就得了
我想实现自动按回车继续执行,直接死循环我的程序会报错的[/quote] 如果你的函数不支持频繁连续调用,那么就这样写 while(true) { WebAPI.dooGet(); System.Threading.Thread.Sleep(5000); }[/quote] 这个我试过,但是如果在我程序没有执行结束的时候,使用这个睡眠,会导致程序重复操作了,比如从1开始到3,5秒内没执行完毕,就会出现重叠1到3,我要的是程序1到3执行结束之后,然后自动的继续执行,操作后面的4-更多,这样子的
於黾 2015-09-10
  • 打赏
  • 举报
回复
引用 7 楼 qq_30080691 的回复:
[quote=引用 5 楼 Z65443344 的回复:] 没看懂你到底想干什么. 不是说按下回车后继续执行吗? 如果你不想按回车,就想让它反复执行,那么别加Console.ReadLine();不就得了
我想实现自动按回车继续执行,直接死循环我的程序会报错的[/quote] 如果你的函数不支持频繁连续调用,那么就这样写 while(true) { WebAPI.dooGet(); System.Threading.Thread.Sleep(5000); }
_lee_chong 2015-09-10
  • 打赏
  • 举报
回复
引用 4 楼 qq_30080691 的回复:
[quote=引用 1 楼 Z65443344 的回复:] while(true) { WebAPI.dooGet(); //这是一个方法 Console.ReadLine(); }
就等于 我循环遇到了readline 我需要敲一下回车,才会继续下一次的方法运行, 有没有方法,可以在控制台实现readline这句话之后 模拟按了下回车键这样的代码[/quote] 没看懂你是想干嘛,这里需要回车,仅仅是因为readline是在等输入,而回车代表结束控制台输入。。。而你根本没用到readline的数据所以你这里除了让程序暂停下,没起到任何作用,而你不需要程序暂停,那你就可以完全不要readline这句话; 至于你说的死循环会报错,那只可能是你的WebAPI.dooGet()函数不支持频繁调用
qq_30080691 2015-09-10
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
没看懂你到底想干什么. 不是说按下回车后继续执行吗? 如果你不想按回车,就想让它反复执行,那么别加Console.ReadLine();不就得了
我想实现自动按回车继续执行,直接死循环我的程序会报错的
於黾 2015-09-10
  • 打赏
  • 举报
回复 1
如果你既想让它能够不用按回车的反复执行,还想按下回车后它能够停下来不再执行, 那么你需要线程 但是不是循环里反复建立线程 而是只建立一个线程,然后线程里反复执行,主线程则循环等待用户输入,然后通过判断输入内容,操作全局bool变量 线程里判断全局bool变量的值,决定是继续循环还是跳出循环
於黾 2015-09-10
  • 打赏
  • 举报
回复
没看懂你到底想干什么. 不是说按下回车后继续执行吗? 如果你不想按回车,就想让它反复执行,那么别加Console.ReadLine();不就得了
qq_30080691 2015-09-10
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
while(true) { WebAPI.dooGet(); //这是一个方法 Console.ReadLine(); }
就等于 我循环遇到了readline 我需要敲一下回车,才会继续下一次的方法运行, 有没有方法,可以在控制台实现readline这句话之后 模拟按了下回车键这样的代码
qq_30080691 2015-09-10
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
while(true) { WebAPI.dooGet(); //这是一个方法 Console.ReadLine(); }
这样子不会继续执行, 会读取到console.readline就停止了,我想让他读到这句话的时候 再次运行那个方法
於黾 2015-09-10
  • 打赏
  • 举报
回复
当然你可以判断输入的值,如果是Exit就跳出循环,退出程序
於黾 2015-09-10
  • 打赏
  • 举报
回复
while(true) { WebAPI.dooGet(); //这是一个方法 Console.ReadLine(); }

110,561

社区成员

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

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

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