我应该使用 using
关键字还是带有以下代码的 dispose 方法(因为我正在打开一个流):
class Program
{
static void Main(string[] args)
{
var x = Deserialize<Dog>(new FileStream(@"C:\Documents and Settings\name\Desktop\demo.xml", FileMode.Open));
}
static T Deserialize<T>(Stream s)
{
XmlSerializer ser = new XmlSerializer(typeof(T));
return (T)ser.Deserialize(s);
}
}
如果没有,您能否解释一下为什么(新的 FileStream 会自动处理/关闭流)?
最佳答案
你应该使用 using
:
using(var stream = new FileStream(@"C:\path\demo.xml", FileMode.Open))
{
var x = Deserialize<Dog>(stream);
// more code ...
}
关于C# 在流中使用关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855215/