C# learning route guide

Spent a few days to sort out the C# learning roadmap, can be said to be pure wild C# programmers growth path planning, here to share, hope to help students who want to engage in C# development. My experience is still shallow, some knowledge points may not be shared correctly, I hope the majority of netizens comment area to add, I will synchronize correction update.

.

Recently, I have been thinking about what a beginner should learn at the beginning, and to what extent he should learn so that he can find a job and be able to work on projects without being trapped by bugs.

Is not every beginner in the beginning of learning any programming language, will have such a question, feel at a loss to start, no clue. Anyway, I did have such confusion at that time. At the beginning of programming, thanks to the suggestions of seniors and teachers in the lab, the cost of trial and error was reduced, and more time could be spent on the right things, so that the learning efficiency would be high.

According to my learning situation at that time and now the current market to analyze, listed novice learning C# programming language route guide, I hope to help you.

Computer Fundamentals


If you are undergraduate students, during the period of school, should be able to learn basic computer, C language, computer composition principle, operating system, and other courses about computer, I hope you good good study, especially the C language, it is a special introduction to easily get started and understand the programming thought of language, is facing the development of process type, First, you need to learn to use the syntax to do some simple logic operations, and secondly, according to certain needs, the implementation of some special algorithms exercise (these will be a great help for later learning object-oriented development language).

If they don’t exist, then you need to spend time on the Internet looking for videos to learn about them.

Recommended Books:

  • “C language programming” (2nd edition) tan Ho-keung version
  • Dahua Data Structure by Cheng Jie
  • “Data structure C language edition” yan Weimin edition
  • Understanding computer systems in depth. (USA) Bryant

Recommended videos:

  • [C] “take you fly, take you learn C” (www.bilibili.com/video/BV17s)…
  • Foundation of Data Structure and Algorithm (Qingdao University – Wang Zhuo)
  • [C language description] “Data Structure and algorithm” (【C language description 】 “data structure and algorithm” _bilibili _bilibili)

C# basics

Basic grammar

If you have previously studied C language, then learning the basics of C# will feel very easy, especially easy to understand. This is where you really need to learn the basics. You need to learn how to write simple algorithms with the basics without making mistakes in the grammar. Must understand the syntax, use it properly and be able to implement some logical code.

(Basic syntax, data types, variables, loops, methods, arrays, collections, judgments, classes, etc.)

Object-oriented development

C language is a process oriented development language, while C# is an object oriented development language. When writing logic code in C language, it can be implemented according to certain smooth logic. But C# is different, you have to consider the extensibility, robustness and so on when learning grammar and realizing business logic.

You have to be able to think abstractly, you have to be able to take things that are not vital in reality, you have to be able to simulate them, you have to extract them more abstractly, you have to sum them up into a particular class, you have that class representing that object, and you have all the properties and behaviors of that object, and that’s object-oriented development.

(Inheritance, encapsulation, polymorphism, interfaces, abstract classes, etc.)

This part of the study is more abstract, learn to have abstract thinking, so that I can better understand these knowledge points.

Advanced basic knowledge

Here you will learn some high end programming gameplay that you may not be able to use in the short term, but will be more relevant later in your career when you are actually using the framework or reading the source code, and may get stuck in it.

(Linq, Generics, Delegates, events, multithreading, Socket development)

Recommended Books:

  • C# tutorial (5th edition)
  • C# introduction classic (inside the advanced aspects of knowledge is introduced very)
  • CLR via C# (very thick book, can be used as a reference)

Recommend the video

  • C # language introductory explanation (www.bilibili.com/video/BV1wx.)
  • C # entry to the master (the intelligence podcast dark horse programmer courses (www.bilibili.com/video/BV1FJ)… )

Recommend online learning sites

  • Novice tutorial (www.runoob.com/csharp/csha…
  • Microsoft official document (docs.microsoft.com/zh-cn/dotne…)

The front-end technology


In the process of writing back-end code, we more or less need to work with pages, so understanding and using the front-end language is essential. For the front-end technology, only need to master the extent of use can, can understand, will use, will write OK.

At the beginning of learning is the web three muskers HTML+CSS+JavaScript, here I recommend to see online novice tutorials and videos to learn, so it is easy to get started, after making things are very satisfied.

The second is Jquery+AJAX technology, which is a very old technology. At present, the popular Vue, Angular, React and other frameworks in the market are highly encapsulated implementations of low-level Jquery+AJAX, so it is necessary for us to master Jquery and AJAX technology.

Because of the rapid development of front-end technology in recent years, a variety of new technologies have sprung up like bamboo shoots after a spring rain, so we all in the process of learning to grasp the primary and secondary, do not learn everything. Here I recommend you to learn vue.js (3.0), currently many companies are using it, we learn it, to find a job in the future will be of great help. As for the rest of the front-end technology, there is no need to learn all of it, until the company or future projects need to use it, we will learn. Trust me, it’s all pretty easy to get started, and it’s all about learning how to use it.

You’ll probably have to learn node.js, NPM, and other techniques for publishing and building later on, which can be learned when you actually use them.

Recommended books

  • The Art of JavaScript DOM Programming
  • The Definitive Guide to JavaScript (Rhino Book)
  • A Simple Node
  • Authoritative Guide to HTTP

Recommend the tutorial

  • Novice tutorial
  • JavaScript Tutorial – Liao Xuefeng official website (liaoxUEFeng.com)
  • Vue official documentation (introduction | Vue. Js (vuejs.org))

The database


About the database learning, need to start from the most basic SQL statements, this can be seen by novice tutorial to understand and familiar with, SQL statement learning process to install the database environment to the actual operation, not only rote memorization formula, to learn to digest, in the real database experience.

At present, the database is divided into relational database and non-relational database.

Relational databases: Sql Server, MySQL, Oracle, SQLite, DB2, etc.

Non-relational database: MongoDb, Redis, NoSql, etc.

For those of us who are engaged in coding and development in the future, I think you should first learn to use Sql Server and MySql database, and then learn the rest of the database in the future development.

In the case of Sql Server, you can use ASP.NET MVC or Web Api technologies immediately after learning the advanced knowledge of C#. You can start by writing some simple CRUD to implement some basic functionality that will be critical to your later growth.

Recommended books

  • SQL Must Know, Must Know
  • Microsoft SQL Server 2008 technology Insider: T-SQL Query

Recommend the tutorial

  • SQL Tutorial – Liao Xuefeng official website (liaoxUEFeng.com)

  • Novice tutorial (www.runoob.com/csharp/csha…

  • SQL Server article directory (www.cnblogs.com/CareySon/ar.)

Advanced knowledge of C#


For the advanced knowledge part, you can try to make some real projects, whether it’s ADO.NET or ASP.NET MVC or ASP.NET Web API.

You can find some open source projects on Github or Gitee, such as library management systems, blog systems, forums, etc., a series of projects that use advanced knowledge to implement. You need to read the code first, see how others have implemented it, and then write your own system based on what others have done. (Through such a practical project, you can quickly start to implement, learn and try to do a full stack development, from the front end to the back end to launch, experience the complete life cycle of the entire software project).

ADO.NET: this is the original database access technology. It is not used today. Most companies use encapsulated ORM, but you have to learn it. You need to understand how it communicates with the database and try to do the steps yourself to see if you can successfully connect to the database and perform a series of CRUD operations.

ASP.NET MVC: It is Microsoft will model-view-controller procedural programming thought of an implementation, you learn it can quickly get started a web site, through this technology you can implement your own ideas, such as a book management system, etc., before the combination of learning ADO.NET technology, it can be a front-end to a database is created.

ORM: ORM, or object relational mapping, is a programming technique for converting data between different types of systems in object-oriented programming languages. Entity Framework, NHibernate, SqlSugar(domestic) are popular in C# language. The rest of the programming ideas will make sense. You just need to learn to use one of them, and the rest will be easy to learn.

ASP.NET Web API: it is a back-end technology (SPA) to achieve the separation of the front and back ends, is currently widely used in the market technology, it can be very simple to achieve SPA, back-end developers only need to write back-end business code, through the API exposed access interface, for front-end personnel to use.

Recommended Books:

  • ASP.NET MVC 5 advanced programming
  • Proficient in ASP.NET MVC4

Recommended Tutorial Series

  • ADO.NET tutorial (www.cnblogs.com/liuhaorain/)…

  • Most complete tech-oriented web MVC tutorial summary (www.cnblogs.com/mq0036/p/90.) ASP.NET MVC little cow road series can focus on see, for you to understand MVC combat very helpful.

Recommend the video

  • C # entry to the master (the intelligence podcast dark horse programmer courses (www.bilibili.com/video/BV1FJ)… )

  • 2021 the new Asp.Net MVC | entry to the proficient in most complete self-study essential combat tutorial introduction to the new Asp.Net MVC | (2021 to master necessary self-study most comprehensive practical tutorial (C#/.NET tutorial/the.net Core/ programmer/programmer) b0222_bilibili

.Net Core


The last one is.Net Core, the author in this period of time also look at Core related knowledge, benefited a lot. Microsoft has been trying to disrupt with Core for years. The image and future of the.NET language, which will compete with Java in the marketplace, has also recently been released. NET 6 preview will be the previous development of the various routes for the great unity, after the command is very different.

For this module, I recommend to read the official documents of Microsoft first, because there are many versions, and the previous versions are quite different, so I recommend to learn and use directly here. NET 5.0, also recommended by Microsoft for production use.

Second, you can learn according to the ASP.NET Core Chinese document directory, which is a collection of Microsoft official website articles organized by some programmers. Some of the contents may be invalid or not updated, but at least you can have a new understanding of Core.

There are a lot of things you can learn about Core, but I’m not going to list them here. You can look at the following picture of the content, compared with the study on OK.

Recommended books

  • ASP.NET Core

Recommend series

  • On ASP.NET, the Core way to share (one hk with the most comprehensive article summarizes | “the road to share about ASP.NET Core, garden (cnblogs.com) – the philosophy of Lao zhang – blog)

  • ASP.NET Core learning video tutorial (blog.core)

  • ASP.NET Core


You can see that in the programming road, if you want to go further and longer, then you need to continue to learn, continue to enrich themselves, and be a firm long-term.

All the programming books mentioned above have been put in the PDF version of the public account, you can follow after reply “C# guide” to download; If you want to white prostitute video resources, can also reply “C# video resources”, you will find the electronic link, I hope to help you.

Original is not easy, hope to give attention, thank you for your support.

remarks


Life is short, I don’t want to pursue what I can’t see, I just want to grasp what I can see.

I am A hui, thank you for reading, if it is helpful to you, please pay attention, like, thank you.