小编Iqr*_*ra.的帖子

我将如何在C#中访问此Task <String>返回值?

我正在关注@StephenHaunts的博客文章https://stephenhaunts.com/2014/10/10/simple-async-await-example-for-asynchronous-programming/#comments

在LongRunningOperation中的代码中最后一个return语句的目的是什么.

private static async Task<string> LongRunningOperation()
{
     int counter;    
     for (counter = 0; counter < 50000; counter++)
     {
         Console.WriteLine(counter);
     }    
     return "Counter = " + counter;
}
Run Code Online (Sandbox Code Playgroud)

现在我所知道的是:

  1. 当我在LongrunningOperation里面调用Task.Run它时,它应该返回默认返回的等待方法.然后为什么不这样做.

  2. 如果我使用Task.Result属性,那么它将同步运行并阻止调用线程,这是不推荐的.

我想问的是:

  1. 我如何在呼叫点打印这个返回值?

  2. 为什么@Stephen在没有需要的时候写了这个陈述?

提前致谢.

.net c# console multithreading async-await

3
推荐指数
1
解决办法
523
查看次数

如何获取从异步 Task&lt;string&gt; function() 返回的值;在 C# 中

我有一个异步方法,我想在它完成后从同一个方法中获取一条消息。

下面是代码

 static async Task<string> pizza()
        {
            await Task.Delay(10);
            for (int i = 0; i < 100; i++)
            {
                //Console.WriteLine("Processing pizza...");
            }
            return "Pizza is ready";

        } 
Run Code Online (Sandbox Code Playgroud)

我想在呼叫点收到这条消息

....... code 
Task t=null;
            switch (option)
            {
                case 1:
                    {

                        await Task.Run(() =>
                        {

                         t=pizza();// asynchronous method  

                        });
                        Console.WriteLine(t.ToString());
                    }
                    break;
 .... other code
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading asynchronous

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net ×2

c# ×2

multithreading ×2

async-await ×1

asynchronous ×1

console ×1