Concept Flow - Using statement for resource cleanup
Start
Enter using block
Create resource
Use resource
Exit using block
Dispose resource
End
The using statement creates a resource, uses it, and then automatically cleans it up when done.
using (var file = new StreamWriter("log.txt")) { file.WriteLine("Hello"); }
| Step | Action | Resource State | Output |
|---|---|---|---|
| 1 | Enter using block, create StreamWriter | StreamWriter opened for 'log.txt' | |
| 2 | Call WriteLine("Hello") | StreamWriter open | Writes 'Hello' to file |
| 3 | Exit using block | StreamWriter disposed |
| Variable | Start | After Step 1 | After Step 2 | After Step 3 |
|---|---|---|---|---|
| file | null | StreamWriter object | StreamWriter object | disposed (null or unusable) |
using (var resource = new Resource())
{
// use resource here
}
// resource.Dispose() called automatically
The using statement ensures resources are cleaned up automatically after use.
Always use it for IDisposable objects to avoid leaks.