C# Console.ReadLine()的作用是什么;你在下面的代码中做什么?

C# Console.ReadLine()的作用是什么;你在下面的代码中做什么?,c#,C#,如果输入comment Console.ReadLine(),则只打印0。但当我取消注释时,所有99个数字都被打印出来了。readline做什么?很难理解这一点 using System; using System.Threading.Tasks; namespace ConsoleApplication40 { class Program { static void Main(string[] args) { Method(); Console

如果输入comment Console.ReadLine(),则只打印0。但当我取消注释时,所有99个数字都被打印出来了。readline做什么?很难理解这一点

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 + ",");
        }
    }
}
}
使用系统;
使用System.Threading.Tasks;
命名空间控制台应用程序40
{
班级计划
{
静态void Main(字符串[]参数)
{
方法();
控制台。写入线(“主控制台内部”);
//Console.ReadLine();
}
公共静态无效方法()
{
运行(新操作(长任务));
控制台写入线(“内部方法”);
}
私有静态任务()
{
对于(int i=0;i<100;i++)
{
控制台。写(i+“,”);
}
}
}
}
控制台.ReadLine()会导致主线程阻塞,直到用户键入某个内容,从而允许另一个线程完成其任务。如果没有它,主线程和程序会在任务有机会完成之前终止。
Console.ReadLine()
会导致主线程阻塞,直到用户键入某个内容,从而允许另一个线程完成其任务。如果没有它,主线程和程序将在任务有机会完成之前终止。ReadLine()正在尝试获取输入(可能来自用户)。因此,它在等待时停止程序。在此过程中,
longstask()
正在运行,打印0到99

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

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


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

应用程序在任务完成之前终止。添加
Console.ReadLine()
时,应用程序将等待输入流中出现某些内容,因此有足够的时间让任务完成执行,而不是等待任务完成。应用程序将在任务完成之前终止。添加
Console.ReadLine()
时,应用程序将等待输入流中出现某些内容,因此有足够的时间让任务完成执行您不是在等待任务完成。不是这样的。我建议您阅读文档:不,不是那样的。我建议您阅读文档:Task.Run()就是这样做的,是的。Task.Run()就是这样做的,是的。