首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Console.ReadLine();在下面的代码中做什么?

Console.ReadLine();在下面的代码中做什么?
EN

Stack Overflow用户
提问于 2017-12-12 07:16:36
回答 2查看 377关注 0票数 0

如果我注释Console.ReadLine(),则只打印0。但当我取消评论时,所有99个数字都被打印出来了。读行是做什么的?很难把握这一点。

代码语言:javascript
复制
using System;
using System.Threading.Tasks;

namespace ConsoleApplication40
{
class Program
{
    static void Main(string[] args)
    {
        Method();
        Console.WriteLine("Inside Main");
        //Console.ReadLine();
    }

    public static void Method()
    {
        Task.Run(new Action(LongTask));
        Console.WriteLine("Inside Method");
    }

    private static void LongTask()
    {
        for (int i = 0; i < 100; i++)
        {
            Console.Write(i + ",");
        }
    }
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-12 07:18:31

Console.ReadLine()会导致主线程阻塞,直到用户键入某些内容,这允许另一个线程完成其任务。没有它,主线程和程序就会在任务完成之前终止。

票数 4
EN

Stack Overflow用户

发布于 2017-12-12 07:21:46

Console.ReadLine()正在尝试获取输入(可能来自用户)。所以它在等待的时候停止了程序。在此过程中,LongTask()正在运行,打印0到99。

如果您注释掉了Console.ReadLine()Main()函数就会在LongTask()有时间打印所有数字之前退出,程序就结束了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47767170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档