I wrapped up the Object Oriented Programming in C# course on edX with an overiview of memory management in C#.
Like Java, .NET offers garbage collection but only for “managed” resources. This means that for unmanaged resources like files, network connections, or database connetions, you must perform the garbage collection yourself. This becomes slighly easier with the IDisposable interface, but also makes C# a bit more complex when compared to other langauges.
Looking at things like the IDisposable Interface in the .NET documentation really makes the docs shine. Not only is there detailed information about the various things related to this interface there are also a handful of different types of examples on how you can actually use this thing. It’s one of the best docs I’ve seen and is something I am going to reference and keep in mind as an example of what I wish every document would look like.
Overall I really enjoyed this course. Like the first course it was a bit on the short size, but it was one of the best overviews of Object Oriented Programming that I’ve seen in all of my learning.
Tomorrow I am going to start the last course in this introductory series to C# which is about Data Structures and Algorithms in C#. I am looking forward to wrapping this up so that I can move on to doing some neat things with ASP.NET Core.