I think the hard part about a "complete knowledge" of C# is understanding how to structure your classes in a data-centric application. Access does not train us well in this regard, because we want to display our data immediately, directly queried from the database, in our UI. This is great for rapid development, but in a serious data-driven application you might write in C#, this is very poor design. Make one change with this short a distance between the database and the UI, and something will break, and it will break silently. If you are going to bother to write in C# and leverage its full capability for scalability, testability, reliability, encapsulation of business logic, etc, then you want a repository layer, a service layer, a data layer, a viewmodel layer, and finally your view, and I think making all these components work together is what you will find hard to get your head around.
And then there are asynchronous methods, commands, converters, and the list goes on...
Learning the syntax will be easy. Understanding what full-stack means, or what MVVM is, or whether a particular piece of logic should be performed in a command, or in the service layer, or in the viewmodel, that is hard.