C# is just an progamming language. My advice for learning them is to do overall algorithms first. Once you start thinking algorithmically you never stop and any 'Programming language' will be just a tool. Use normal C to organize your thinking process and print it into the console. Don't start with Objective-C nor C++. Neither C# because it's a high level programming language. (High level doesn't mean high complexity!)
Do some mathematical algorithms such: Generate the first 100 even numbers; Generate the first 100 primes numbers; Check if a point is inside a triangule given 3 points of this triangule in a plane; Bubblesort sorting algorithm for a 100 positions array. All of these are very basic and when you fell confortable with them you can go for something deeper such the 'Travelling salesman problem'
You must be registered to see links
. Them you realize all languages are almost the same and you can adapt yourself