Hello guys. Happy holidays and a happy new year!
I am newbie in programming and a friend of mine suggested I should start with c#. I have finished all the courses from mosh hamedany on Udemy(if you are familiar with it) and I do not know what my next step should be.
I know that my knowledge is very small and I want to learn more. Could you please suggest something.
Thank you very much!
Write code. Then write more.
This.
Don’t just go around learning about features if they’re not critical and you don’t have something in mind to use them.
Sure, async-await is amazing, but only if you need it…
Write code, start projects, abandon them for new projects, keep writing. The more you explore the more you learn, and the best way to learn is to explore.
Not familiar with what Mosh goes over in his course, but i can just leave some bulletpoints
General
Interfaces
Inheritance
Threads
Delegates
Lambda expressions
Assuming you have already been over all the basics, you can look up software design patterns / principles. This will teach you some different ways to code more “efficient?” based on different situations.
GRASP & SOLID (very useful to get the hang of what they mean in software development)
Model-View-Controller architecture
Not general
Reflection
“Opening / inspecting” your software at run-time (when the application is running)
Socket programming
Sending and receiving data across the network and between applications
Learn about the JSON data format
Try to serialize and deserialize your own objects from and to json data
Assuming you are still doing console applications
Try out a WPF application and learn some XAML (front end design)
Try out ASP.NET which is a framework for developing websites and API’s with C#
Create a class library and reference it in another project to use the code
What do you want to use C# for? You can learn the language by itself, but that is just a small part of learning how to actually use it in practice. That takes knowledge of the libraries and frameworks supporting different use cases and you will never learn them all.
By identifying what you actually want to accomplish, you can jump right to the most relevant parts.