this post was submitted on 16 Dec 2025
9 points (100.0% liked)
C Sharp
1749 readers
5 users here now
A community about the C# programming language
Getting started
Useful resources
- C# documentation
- C# Language Reference
- C# Programming Guide
- C# Coding Conventions
- .NET Framework Reference Source Code
IDEs and code editors
- Visual Studio (Windows/Mac)
- Rider (Windows/Mac/Linux)
- Visual Studio Code (Windows/Mac/Linux)
Tools
Rules
- Rule 1: Follow Lemmy rules
- Rule 2: Be excellent to each other, no hostility towards users for any reason
- Rule 3: No spam of tools/companies/advertisements
Related communities
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
My recommendations would be:
GC.Collect()in any real program code. Just let the GC do its thing.usingstatement or declaration explicitly soDisposegets called as soon as possible.Note that this code is just to showcase the
usingkeyword (in relation toIDisposable). If you want to implement the disposable pattern properly you should look at the help article I linked. Such as making sure thatDisposeis called even if the object is naturally garbage collected, that is if you forget to useusing. (I also didn't check the validity of the code but it should get the idea across.)Unless the purpose is to get a destructor to trigger only. This is the most correct answer. This pattern is very widely used and can prevent crashes. The using block is a try{}finally{} behind the scenes but without the catch it just throws and could be caught higher up the stack on accident. When I was a fresh grad this pattern saved my dumb ass when I unintentionally would catch the exceptions somewhere else, but hey it didn't crash.