The neural network that you use depends on the kind of data you want to classify. If you have found that for your special case perceptron if fine you can program it in c++ or any other environment too as long as you can train it properly.
There are lots of examples on neural networks in C# on the Internet. I suggest that you can search them on Codeproject. Here is an example. I hope it can help you.
A perceptron is convenient to use if the classification problem is linearly separable. If the problem is a nonlinear is better to use other kind of neural network as a multi layer perceptron.
On internet there are a lot of example of how to code a neural network. You can try a google search to verify this.
If you are thinking about implement your our neural network, may be it should be more interesting other language like C or C++ instead of C#. The sentences/sintax are similar and the performance will be much better
Matlab can translate your code to C. If you are only interested in the trained network, I recomend you to train it in Matlab, and to translate to C the script with the network for recalling tasks.
Respect the hardlim function, if you are using a network architecture with any hidden layer, it is better to use the "tansig" function for hidden layers (output ranges from -1 to 1), and the 'logsig' function for the output layer (output ranges from 0 to 1).
As MLP is hard to train, you can prototipe the selection of features and classes with the Self-Organizing Map, that is quite easy to use and shows you if the data is separable. There is a good toolbox here: http://www.cis.hut.fi/projects/somtoolbox/