I have some programming background, some Java, C/C++ and Python, little bit ActionScript and tiny bit JavaScript. My preference is Java, C and Python. I’ve been wondering if I should start by learning C# independently from Unity and when I got C#, then start Unity.
Should I do this or should I just dive in to C# and Unity at the same time?
Dive in. I didn’t know C# but I knew pretty much the same things you list. It’s not hard to pick it up. The examples are plenty, both in the script docs and script wiki and forums and tutorials and resources and on and on. And when you get stuck, and you want to know some syntax or API in C# (let’s say, ‘file io’), google ‘msdn file io’ and you’ll get the MSDN pages that describe C# very well.