upload a program using c#

Is it possible for me to upload a new program into the arduino using c#? So say I made a board with a arduino chip. On this pcb would be a few mosfet solenoid and relay drivers. These drivers would control different solenoids and relays depending on the analog readings. I want to be able to change the point at which the drivers toggle the solenoids / relays based on the analog readings using the c# program. Anyone seen this done before?

you dont really need to update the program on the arduino anytime something changes, you just need to write your arduino code so that it can accept commands and values from the serial port and have the C# program send them as needed

What I forgot to say was that the settings need to stay the same when unplugged and powered back up in a car. So im guessing I need to make a serial program that will write to the eeprom using c# commands right?

yea and its not that hard using the standard eeprom lib or the write anything to eeprom lib (google that one), just keep in mind how much space you have (which is 2048 bytes on a uno)

if you need more "they" make rom chips that use simple SPI interfacing, so you can "shift out"