C#新手学习路线指南

C#学习路线指南

花费了几天时间整理了C#学习路线图,可以说是纯野生C#程序员成长路线规划,在这里分享下,希望可以帮助到想从事C#开发的同学们。本人阅历尚浅,有些知识点可能分享不正确,希望广大网友评论区补充,我会同步修正更新。

题记

最近自己一直在想,一个初学者刚开始应该学些什么,该学习到哪种程度找工作才不成问题,才能在做项目时游刃有余不被Bug所困住。

是不是每一个初学者在刚开始学习任何一门编程语言的时候,都会有这样的疑问,都觉得无从下手,没有头绪。反正我当时确实有这样的困惑,在刚开始接触编程的时候,当时幸好有实验室学长和老师的建议,才减少了试错成本,可以把更多时间都花费在正确的事情上,学习效率才会高。

根据我当时的学习情况和现在目前市场上的行情来分析,罗列出新手学习C#编程语言路线指南,希望对你有帮助。

C#学习路线指南

计算机基础


如果你是本科生的话,在校期间,应该会学习计算机基础,C语言,计算机组成原理,操作系统等关于计算机的课程,我希望你好好学习,尤其是C语言,它是一种特别容易入门上手和了解编程思想的语言,是面向过程式的开发,首先你得学会使用它的语法做一些简单的逻辑运算,其次可以根据一定的需求,实现部分特殊算法的演练(这些对你后期学习面向对象开发语言有很大的帮助)。

如果没有开设这些课程,那么就需要你花时间去互联网上找相关视频去学习。

推荐书籍

  • 《C语言程序设计》(第2版)谭浩强版本
  • 《大话数据结构》 程杰
  • 《数据结构C语言版》 严蔚敏版
  • 《深入理解计算机系统》(美)布赖恩特

推荐视频:

C#基础知识


基础语法

你如果前期学习过C语言的话,那么学习C#基础知识就会感觉很容易,特别好理解。在这个环节你需要认真学习基础知识,你得学会在保证语法不报错的情况下,利用基础知识写一些简单的算法;得熟练了解语法,使用得当并可以实现一些逻辑代码。

(基础语法、数据类型、变量、循环、方法、数组、集合、判断、类等)

面向对象开发

C语言是面向过程的开发语言,而C#是面对对象的开发语言,在使用C语言写逻辑代码时都是可以按照一定的顺利逻辑将其实现就OK,而C#就不一样,你在学习语法,实现业务逻辑时得考虑程序的可扩展性,鲁棒性等。

你得拥有抽象思维,可以将现实中无生命体征的物品进行拟物处理,将它们进行更为抽象的提炼,汇总为某个特殊类,让其这个类代表这类物品,并让其拥有这个物品的所有属性和行为,这就是面向对象开发。

(继承、封装、多态、接口、抽象类等)

这一部分的学习比较抽象,学会拥有抽象思维,让自己可以更好的理解这些知识点。

基础知识进阶

这里你将会学习一些高端的编程玩法,可能短期内,你无法使用到,但是它们更多体现在你的职业后期,当你实际使用框架或者阅读源码的过程中,都会遇到这些知识点,并有可能被它困住。

(Linq、泛型、委托、事件、多线程、Socket开发)

推荐书籍:

  • C#图解教程(第五版) (5星推荐入门教程)
  • C#入门经典 (里面的进阶方面知识介绍的很)
  • CLR via C# (很厚很厚的书,可以看做工具书使用)

推荐视频

推荐在线学习网址

前端技术


在编写后端代码的过程中,我们或多或少的需要对页面进行处理,那么了解和会使用前端语言是至关重要的。对于前端技术,只需要掌握到会用的程度就可以,看得懂,会用,会写就OK。

刚开始学习的话就是网页三剑客 HTML+CSS+JavaScript,这里我推荐看网上的菜鸟教程和视频来学习,这样很容易上手,做出东西后就很有满足感。

其次就是Jquery+AJAX技术,它是很老的技术了,目前市面上比较流行的Vue、Angular、React等框架都是对底层Jquery+AJAX的高度封装实现,所以我们掌握了解Jquery和AJAX技术很有必要。

由于前端技术这几年发展特别快,各种新技术如雨后春笋般涌现,所以我们大家在学习的过程中要抓住主次,别什么都学习。这里我推荐大家学习Vue.js(3.0),目前很多公司都在使用它,我们学好它,对以后找工作会有很大的帮助。至于其余的前端技术,没有必要全都去学习,等到公司或者说以后项目需要使用它的时候,我们再学习也不迟。相信我,那些东西都是很容易上手的,原理都是通的,就看你会不会活学活用了。

后面可能还得学习Node.js、NPM等用于发布和构建的技术,这些也可以等实际使用的时候再去学习。

推荐书籍

  • 《JavaScript DOM 编程艺术》
  • 《JavaScript权威指南》(犀牛书)
  • 《深入浅出Node》
  • 《HTTP权威指南》

推荐教程

数据库


关于数据库的学习,需要先从最基本的SQL语句开始,这个可以通过看菜鸟教程来了解和熟悉,SQL语句学习的过程中要安装好数据库环境来实际操作,不能只死记硬背公式,要学会融会贯通,在真实的数据库中来体验。

目前数据库分为关系型数据库和非关系型数据库。

关系型数据库:Sql Server、MySQL、Oracle、SQLite、DB2等。

非关系型数据库:MongoDb、Redis、NoSql等。

对于我们将来从事编码开发的人员来说,我觉得你首先先学会使用Sql Server和MySql数据库,其余的数据库在以后的开发中再去学习也不迟。

就拿Sql Server来说,你学习完后在后面的C#高级知识中,使用ASP.NET MVC或者Web Api技术可立马实际操作应用数据库。你可以先写一些简单的CRUD,实现一些基本的功能,这对你后期的成长至关重要。

推荐书籍

  • 《SQL必知必会》
  • 《Microsoft SQL Server 2008技术内幕:T-SQL查询》

推荐教程

C#高级知识


关于高级知识部分这个环节,你可以试着做出点实际项目出来,不管是ADO.NET 还是ASP.NET MVC或者ASP.NET Web API,你都可以先跟着书本或者视频教程,先让自己会用继而模仿看别人的写法,自己也动手进行实现。

你可以在Github或者Gitee中找到一些开源的项目,比如图书管理系统、博客系统,论坛等一系列使用高级知识来实现的项目,你需要先阅读代码,看别人是如何实现的,从而在仿照别人的实现过程来按照自己的想法编写自己的系统。(通过这样的实战项目,你可以快速的上手实现,学着并尝试做一个全栈开发,自己一个人从前端到后端再到发布上线,体验下整个软件项目的完整生命周期)

ADO.NET: 它是最原始的数据库访问技术,目前基本都不使用,市面上公司都是使用封装好的ORM,但是你也得学习它。你得了解它是如何和数据库进行交流的,尝试着自己做这些步奏,看是否能顺利连接数据库,并进行一系列的CRUD操作。

ASP.NET MVC:它是微软将模型-视图-控制器的编程思想进行程序化的一种实现,你学习它可以快速上手实现一个网站,通过这个技术你可以实现自己的想法,比如做个图书管理系统等,在结合之前学习的ADO.NET技术,就可以将前端到数据库都打通了。

ORM:ORM简称对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。目前在C#语言中比较流行的有Entity Framework,NHibernate,SqlSugar(国内)。这块你主要学习EF就可以,其余的编程思想都是想通的,你只要学会使用其中一个,其余的简单学习下技巧就很快能上手。

ASP.NET Web API:它是一种实现前后端分离的后端技术(SPA),也是目前市场上大家普遍使用的技术,通过它可以很简单的实现SPA,后端开发人员只需要编写后端的业务代码,通过API暴露出访问接口,可供前端人员进行使用。

推荐书籍:

  • ASP.NET MVC 5高级编程
  • 精通ASP.NET MVC4

推荐系列教程

推荐视频

.Net Core


最后一个就是.Net Core,笔者在这段时间也在看Core相关的知识,受益良多。这几年微软一直想通过Core来颠覆.NET语言的形象和未来,用它来和Java争一争市场(还是有差距的),也在最近刚刚发布了.NET 6预览版将以前的各个发展路线进行了大统一,以后的命令就很好区别了。

这个模块我推荐优先看微软的官方文档,因为版本众多,且先前版本差异比较大,这里推荐直接学习并使用.NET 5.0,也是微软推荐的可应用于生产环境的版本。

其次可以根据ASP.NET Core 中文文档目录来学习,它是一些程序员自发组织翻译的微软官网的文章集合,里面内容可能有些都已经失效或不在更新但最起码可以让你对Core有一个崭新的认识。

其实对于Core的知识点学习有很多的,这里我就不一一列举了。大家可以看下下面这张图片的内容,对照着学习就OK。

image

推荐书籍

  • 《深入浅出ASP.NET Core》

推荐系列


大家可以看到在编程这条路上,如果想走的更远,更久,那么你就需要不断的去学习,不断的充实自己,做一个坚定的长期主义者。

原创不易,希望给个关注,谢谢支持。

寄语

人生短暂,我不想去追求自己看不见的,我只想抓住我能看的见的。

我是阿辉,感谢您的阅读,如果对您有帮助,麻烦关注、点赞、谢谢。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 我是2019年8月全面开始学习C++,之前只是有一点C++的基础,仅看过《C++ prime Plus 第六版》,...
    fibonaccii阅读 3,507评论 1 4
  • 前言 大家好啊,我是汤小圆。 今天给大家推荐的是,JavaWeb学习路线,希望对大家有帮助,谢谢。 絮叨 学习途径...
    汤圆学Java阅读 4,531评论 0 4
  • 第零部分 前端和数据库基本知识 1.前端知识 HTML、CSS、 JavaScript、 Jquery 2.数据...
    墨说智能制造阅读 2,381评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,520评论 28 53
  • 人工智能是什么?什么是人工智能?人工智能是未来发展的必然趋势吗?以后人工智能技术真的能达到电影里机器人的智能水平吗...
    ZLLZ阅读 3,763评论 0 5