物体可以提前处置的任何可能性?

use*_*253 1 c# filestream streamreader

fileStream在调用Close方法之前,对象是否有可能被销毁?

FileStream fileStream = new FileStream(xxx);
StreamReader txtReader = new StreamReader(fileStream);

curLog = txtReader.ReadToEnd();

txtReader.Close();
fileStream.Close();
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 5

是否有可能在调用Close方法之前销毁fileStream对象,如下所示?

没有.

但是你永远不应该写那样的代码.您应始终在using语句中包装IDisposable资源,以确保即使抛出异常并且您不会泄漏句柄也会处置它们.

using (FileStream fileStream = new FileStream(xxx))
using (StreamReader txtReader = new StreamReader(fileStream))
{
    curLog = txtReader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

但是出于这个具体示例的目的,您可以简单地使用该ReadAllText方法.

string curLog = File.ReadAllText(xxx);
Run Code Online (Sandbox Code Playgroud)