I am using c# express and would like to use a free version control system. Please share your recommendations.
Visual Studio Express is crippled in the sense that it cant load any plugins or addons.
Just go with TortoiseSVN. Works easy enough.
Subversion along with AnkhSVN plugin for VStudio and TortoiseSVN plugin for the windows explorer.
It tracks folders as well as files and keeps history on renames. Those are really useful for refactoring your code.
Edit: forget about AnkhSVn in VisualStudio Express because it can't load plugins.
It seems to me you are new to Version Control. If you haven't used source control before, I recommend looking at a distributed version control system (DVCS) directly. My choice was Mercurial, because it has excellent documentation, a clean and consistent interface, works well on all major platforms (using it on Windows, Linux and MacOSX) and a great support for PlugIns (several are officially redistributed, such as mq) that let you do very advanced stuff. There are great GUIs available (TortoiseHG, but also standalone). There is a nice introduction to Mercurial here, but the it's also useful for the general conept.
Popular DVCS include: Mercurial, Git and Bazaar but in the end it doesn't matter which tool you choose There is lots of information here on SO about comparisons.
The best IDE PlugIn is don't use one. I think IDE integration is not necessary when working with a DVCS. When working in a centralized system, it is reasonable for the purpose of automatic check out on edit, rename support etc.. However, I like keeping things seperate. I don't want my IDE cluttered up. I don't see any benefits in using a plugin compared to a standalone solution (that I keep running on a second monitor). To support renaming, a good DVCS has built in heuristics to find and track renames automatically.
I am fine with TortoiseHG and the command line for more complicated tasks.
Personally, I hate the tortoise type clients, mainly because Explorer frustrates the hell out of me and isn't a good file-system browser at all..
I choose an unorthodox approach and install NetBeans and use the "favorites" tab to add locations for versioned file systems I wish to manage.
I use this approach for Visual Stuido.
My prior tool was WinCVS.
Plastic SCM Community Edition. It's DVCS and it's graphical as you'd expect as a VS user.