C++ and C#, while similar, are different languages. I can't program in C++, but I can in C#. I don't know what header files really are, no idea how to even create a window in C++. If you want to work at a job that requires C# experience, and you only have C++, if I was a project manager or working in HR, I wouldn't hire you.
I would say that 3+ years of C# experience means just that. Either working on a project (or many) that were written in C# for at least 3 years. Some places might include school work, but it depends.
I think that personal projects can count as well. If you have source code that you can part with and a compiled, finished project, share it with them so they can see that while you are "self-employed" or "self-taught" you actually can provide something to show for it.
Lets say you were doing C# for 3 years. But now we have to ask you, what were you doing in these past 3 years? Have you learned every single day (for at least 2-3 hours for day), or did you only occasionally used any book(s) and Visual Studio for your practice, or there was something in between?
You see what I mean, its a big difference in those 3 examples. Someone can be almost an expert, when the other doesn`t even know what is (means) an Object in OOP, or how to use Lambda Expressions for an instance.
I am learning C# for around 2 years, and I can say every day, sometimes I`m infront of the book and pc for a lots of hours, sometimes maybe only for an hour (when I have a hard times with my work). But Iam doing a progress, even if its tuff. There is so much to learn, and every day comes something new.
In programming there is many areas that you can work on (like sql, win form, some specific coding - algoritms, or sometihng else), so its hard to learn all at ones. Best way is to go step by step, to learn sometihng and that you do that good. Its worthless to try to learn all, because on the end you will no nothing, or becuase there will be to many stuff at ones, or you will simply forget what you have been learing a couple of months ago. Yep, programming is so hard on your braings, that if you dont do it every day, you simply forget - sooner or later. I have found that by my self too.
I hope you got my point what means 3++ years, almost nothing. But if you consider those 3 years of a full learning course, then you are a decent programmer on a particular area; not on all of them.
I don't know if it necessarily requires less work or more work, or even the same work. C# and C++ are tools, and each tool has a niche. C# can be used for web applications that run on IIS servers and (as far as I know) C++ cannot. I don't write in C++, mainly because Windows is the target platform, all Windows machines come with .Net now and I honestly don't know enough about C++ to effectively write software. I rely on the CLR and the framework to do work for me that I would otherwise have to do by hand. To me, C# is great and does what I want, quickly and effectively. I've never found something I couldn't do in C#. I may not understand how it's done, but I know it can be done.
I think in C++ and C# only C is common nothing else :)..... well I think above fellows are right HR people actually don't know what is programming and whats the difference between languages so they only see who can program... I am working in C# from 2002 and I still got new knowledge everyday of new things... I don't think skill can be judged on the basis of how well one can write syntax of any language skill is how well he can solve a problem how well his logic is... syntax comes next and in today's IT enabled office system nearly every one has access to many libraries and forums for help in difficult things :) ...
Any ways nice discussion. Sometimes such discussions help you to figure out where you are standing right now :)