<分区>
我正在从 URL 下载一些 XML 字符串,我需要解析它。所以,我有以下语法:
// Code Section 1
using (var webClient = new WebClient())
{
response = await webClient.DownloadStringTaskAsync(new Uri(myUrl));
}
SyndicationFeed myFeed;
using (XmlTextReader reader = new XmlTextReader(new StringReader(response)))
{
myFeed= SyndicationFeed.Load(reader);
}
if(myFeed != null)
{
// Do something
}
但是,一位队友提出了一个问题,如果我这样做,代码看起来会更好
// Code Section 2
using (var webClient = new WebClient())
{
string response = await webClient.DownloadStringTaskAsync(new Uri(myUrl));
using (XmlTextReader reader = new XmlTextReader(new StringReader(response)))
{
SyndicationFeed myFeed= SyndicationFeed.Load(reader);
if(myFeed != null)
{
// Do something
}
}
}
从逻辑上讲,它们执行相同的任务,可能会对性能产生一些影响。
我的问题是:
- 使用
using
和内部using
的正确方法是什么? - 我是否应该尽快“释放”内存,这意味着在
using
中放置尽可能少的逻辑?