我一直認爲通過在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