I've learned C# before getting into Unity. Afterwise I kept learning and learned ASP.NET besides Unity stuff. There are lots of things you can't use in Unity or their usage is against Unity workflow: constructors, tasks, threads, dependency injection, unit tests.