Reading The Boot Sector With Marshalling and P/Invoke

When developing an application for Windows, you’re likely to need some sort of functionality from the Windows API library. The Windows API is basically the backend of the Windows operating system. Since Windows APIs are mostly written in C/C++, you may think that you’ll need to write your program in C/C++ for it to work with it. This isn’t the case; C# (and other programming languages) can be used. In the fourth and final blog post in my series on C#, I will go through using marshaling and P/Invoke to read the NTFS (New Technology File System) boot sector.


Working With Collections

In the third part of my blog series on the C# programming language, I will go through the various types of collections. I use the term “collections” because it is a broad term and the different types of collections are explained below. One advantage of C# is not just the varying types of collections but also the number of ways to work with them.


Events and Delegates

In part two of my series on the C# programming language, I’m going to explain what a delegate and event is. There are a couple different meanings of a delegate in C#. All of the types (delegate, Action, Func, and Predicate) are delegates because they are function pointers to named and anonymous methods. For the purposes of this blog post, delegate refers to the specific data type and not the broader term.


Streams in C#

Binary Stream

Over the course of the following weeks, I am going to be publishing a series of blog posts on C#. I’m of course not talking about the musical note but rather the programming language. The purpose of these blog posts is to introduce you to some of the key concepts in C#. I would be stupid to say you’ll become an expert from this because there’s alot of different aspects to C# and it can’t all be explained in just four blog posts.