新的 Visual Studio 2012 抱怨我一直使用的常见代码组合。我知道这似乎有点矫枉过正,但我在我的代码中做了以下“只是为了确定”。
using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using (var sr = new StreamReader(fs))
{
// Code here
}
}
Visual Studio 正在“警告”我,我不止一次处理 fs。所以我的问题是,写这个的正确方法是:
using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
var sr = new StreamReader(fs);
// do stuff here
}
或者我应该这样做(或其他未提及的变体)。
var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using (var sr = new StreamReader(fs))
{
// Code here
}
我在 StackOverflow 中搜索了几个问题,但没有找到直接解决此组合最佳实践的内容。
谢谢!