Question: Forgive me, but I don't know the technical term to know what to search for.

I am trying to find a way to keep track of changes in my code during the development of my program. something that would allow me to go back to a section of code that I deleted. I am not talking about "undo". But rather a way that would let me keep track or be able to retrieve a section of my code that I deleted but now want it back.

Is there such a way? If there is, then what is this whole system/procedure called? Is there something that integrates with Visual Studio 2010?

Answer: 
I'm not familiar with Visual Studio, but generally there are two approaches to implementing this:

1) Source/Revision control - But the problem is that it is very low-granularity, you usually commit a file when it is ready, but lose any interim changes. There are a lot of solutions compatible with visual studio.

2) A local history that tracks multiple versions between commits. Eclipse has this built in, not sure how to access it in VS.

3) A very granular log of all your development activities so you can examine and revert past changes. Not familiar with a commercial version of this. I once developed something like this for Eclipse.
Every source control does that, you know ;)

YOu have a legal VIsual Studio 2010? Try Team System.