01
Show how to implement IDisposable and use the using statement.
Show answer
public class FileLogger : IDisposable
{
private readonly StreamWriter _writer = new("log.txt");
public void Log(string msg) => _writer.WriteLine(msg);
public void Dispose() => _writer.Dispose();
}
// using declaration disposes at end of scope
using var logger = new FileLogger();
logger.Log("Started");
Dispose releases unmanaged resources such as file handles and connections deterministically instead of waiting for the GC.