I browsed all the answers given in Stackoverflow,i couldn't find my answer that's why i am writing this, so please don't mark this a duplicate.
My case i want to get the capability of doing anything in C# from building applications to solving problems. I searched for and tried to read books.
Then one of the experts said, reading books will not make any good for you, for learning you have to solve problems i.e. real world problems in C#, he gave me some sample problems, which i previously did in C++, i started doing, but the thing is that i know the internal logic of solving the problem or the algorithm to solve. But i don't know how to imepelement them using C# efficiently. so, the gap is, i can't think in C#, I know the message to passed but don't the exact way to pass it. I did a program to solve a problem, then find out there are much easier ways of doing it wherever i was doing it in tougher way.
So, can you guys(C# experts) please enlighten me, what i need to get hold of the language and get the ability to code in C# proficiently?