Additionally, C# collections do not need to box.
List<int> uses an actual array of integers as its backing store instead of an array of objects that contain boxed copies of the integers.
There is a port of JGit to .NET called NGit, which is what we use for MonoDevelop.
The port is maintained with an automatic tool that converts Java code to C# code, you can find it here: