public class test
{
public async Task Go()
{
await PrintAnswerToLife();
Console.WriteLine("done");
}
public async Task PrintAnswerToLife()
{
int answer = await GetAnswerToLife();
Console.WriteLine(answer);
}
public async Task<int> GetAnswerToLife()
{
await Task.Delay(5000);
int answer = 21 * 2;
return answer;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我想在main()方法中调用Go,我该怎么做?我正在尝试c#新功能,我知道我可以将异步方法挂钩到事件并通过触发该事件,可以调用异步方法.
但是如果我想直接在main方法中调用它呢?我怎样才能做到这一点?
我做了类似的事情
class Program
{
static void Main(string[] args)
{
test t = new test();
t.Go().GetAwaiter().OnCompleted(() =>
{
Console.WriteLine("finished");
});
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
但似乎这是一个死锁,屏幕上没有任何内容.
我在 .Net Core 中的第一个 HTTP 客户端代码。服务器也在我的电脑上运行,所以我想将其发送到本地主机。
在有人在这里推荐之后,我添加了内部异常的打印,但这不足以让我理解这个问题。
namespace HTTPClient
{
// The object I want to send
public class Msg
{
public string ID { get; set; }
public string Data { get; set; }
public int RSSIR { get; set; }
public int RSSIT { get; set; }
public int Slot { get; set; }
}
class Program
{
static Msg msg = new Msg
{
ID = "00CC",
Data = "9F4CC",
RSSIR = 123,
RSSIT = 321,
Slot …Run Code Online (Sandbox Code Playgroud)