I have been doing most of my coding on the Pi using c#, mostly because I don't know anything about programming and it was the one language I knew a little about. I'll eventually learn python and c++. My recommendation for using c# is to use Visual Studio on a pc then moving the compiled exe over. I tried using one of the ide's on the raspberry for coding in c# and gtk# but it gave me nothing but issues, usually the code didn't work as expected and poor performance when I did get it to work. When I wrote some code on the pi that turned an led on and off it wouldn't work right, I put that same code into a visual studio project and just moved the compiled exe over, it would work exactly as expected.
To make life easier there's many libraries that have been written to make it easier to write c# programs that access the gpio pins on a pi.
The 3 that I've found so far are:
- only provides file access to the gpio pins, works fine but only allows basic pin access.
- Allows hardware and file access to gpio pins, has a few additional functions.
- provides file and hardware access to the gpio pins. Has additional functions it does along with pin access. The most robust out of all of them from my experience.
- Is the latest one I've found. It's still being worked on and may be the best one, I just haven't used it yet.
Most of these have classes/methods written also to make it easy to code additional hardware like an LCD screen or analog to digital converters.
Hope this helps.