Array.Unshift for C# Arrays

Is there such a thing, and if there isn't, can I make one for myself?

No, but there are a ton of great collection objects that you can use instead, and if maximum performance is not a concern you can easily convert back and forth between these collections and an array using "AddRange" to add the array, and "ToArray()" to convert back.

I suggest looking at the Queue<>, Stack<> and List<> objects to see if these will fit your needs.

Arrays:

http://msdn.microsoft.com/en-us/library/system.array_members(v=VS.80).aspx

Generic collections:

http://msdn.microsoft.com/en-us/library/0sbxh9x2(v=VS.80).aspx