c# - .NET 异步/等待,是否收集了变量垃圾?
问题描述
在玩AngleSharp时,我面临着一种异步/等待的行为,我只能将其归因于垃圾收集器。
以下代码不打印任何内容,但调试器声明document.Title
具有 value Google
。
static async Task Main(string[] args)
{
var config = Configuration.Default.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://www.google.com/");
Console.WriteLine("Title: {0} ", document.Title);
}
但是,如果我将属性保存在一个变量中,它会像我期望的 print 那样工作Title: Google
。
static async Task Main(string[] args)
{
var config = Configuration.Default.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync("https://www.google.com/");
var title = document.Title;
Console.WriteLine("Title: {0} ", title);
}
这是正确的方法吗?
解决方案
推荐阅读
- java - 如何存储具有不同行为的相似对象?
- c# - 实体框架,如何使这个更通用以编写更少的代码
- javascript - 处理名称包含 @ 符号的 json 属性
- redux - 发布请求 redux thunk
- sql-server - Visual Studio 数据库项目 - 使用 SQLCMD 变量定义文件大小
- discord - 直到 Discord Bot 发送下一条消息的时间延迟
- css - 将文本溢出:省略号文本转换为全文的“浮动”视图
- python - 在 Python 线程中使用标准输出管道
- vaadin - 包括 vaadin-combo-box-item 的样式
- c# - 如何垂直引导我的数据网格查询