我一直认为通过在using
之前声明var将允许它在using
之内分配,然后我仍然可以读取它之外的变量。原来我不能:-)在C#中使用并使用变量赋值内部使用
ReadOnlyCollection<string> collection;
using (var archive = new SevenZipArchive(varRarFileName)) {
collection = archive.Volumes;
MessageBox.Show(collection.Count.ToString()); // Output 10
}
MessageBox.Show(collection.Count.ToString()); // output 0
任何办法让它不停止使用using
完整的测试方法工作:
private ReadOnlyCollection<string> ExtractRar(string varRarFileName, string varDestinationDirectory) {
ReadOnlyCollection<string> collection;
using (var archive = new SevenZipArchive(varRarFileName)) {
collection = new ReadOnlyCollection<string>(archive.Volumes);
MessageBox.Show(collection.Count.ToString()); // output 10
}
MessageBox.Show(collection.Count.ToString()); // output 0
return collection;
}
工作:-) – MadBoy 2010-12-10 20:10:01
是的。在这种情况下,检查文档和我的“新”理论肯定不起作用。这好多了。 – 2010-12-10 20:10:26