Outlined here is my implementation of the Fast Fourier Transform (FFT) and the Inverse Fast Fourier Transform (IFFT) in C#. The FFT/IFFT classes accepts and return an array of Complex values to be transformed. In addition, helper methods within the classes do the grunt work of padding the array with zeros and performing the actual computations to return a valid FFT/IFFT object. As you can see from the code file, this is well documented and detailed so that anyone can follow and reproduce what I have done.
In addition, I have compared the results I received after running my test program to a similar setup in Matlab and my results were verified in both cases. The class diagram below illustrates the features of the FFT class.