C#新手该如何规划学习【学习路线指南】

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

题记


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

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

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

C#学习路线指南

计算机基础


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

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

推荐书籍

  • 《C语言程序设计》(第2版)谭浩强版本

  • 《大话数据结构》 程杰

  • 《数据结构C语言版》 严蔚敏版

  • 《深入理解计算机系统》(美)布赖恩特

推荐视频:

  • 【C语言】《带你学C带你飞》(https://www.bilibili.com/video/BV17s411N78s?from=search&seid=10895629627118467688)

  • 数据结构与算法基础(青岛大学-王卓)(数据结构与算法基础(青岛大学-王卓)_哔哩哔哩_bilibili)

  • [C语言描述]《数据结构和算法》(【C语言描述】《数据结构和算法》_哔哩哔哩_bilibili)

C#基础知识


基础语法

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

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

面向对象开发

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

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

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

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

基础知识进阶

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

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

推荐书籍:

  • C#图解教程(第五版) (5星推荐入门教程)

  • C#入门经典   (里面的进阶方面知识介绍的很)

  • CLR via C#  (很厚很厚的书,可以看做工具书使用)

推荐视频

  • C#语言入门详解(https://www.bilibili.com/video/BV1wx411K7rb?p=23)

  • C#入门到精通(传智播客黑马程序员课程(https://www.bilibili.com/video/BV1FJ411W7e5?from=search&seid=8949377659058078966))

推荐在线学习网址

  • 菜鸟教程(https://www.runoob.com/csharp/csharp-tutorial.html)

  • 微软官方文档(https://docs.microsoft.com/zh-cn/dotnet/)

前端技术


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

推荐教程

  • 菜鸟教程

  • JavaScript教程(JavaScript教程 - 廖雪峰的官方网站 (liaoxuefeng.com))

  • Vue官方文档(介绍 | Vue.js (vuejs.org))

数据库


关于数据库的学习,需要先从最基本的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查询》

推荐教程

  • SQL教程(SQL教程 - 廖雪峰的官方网站 (liaoxuefeng.com))

  • 菜鸟教程(https://www.runoob.com/csharp/csharp-tutorial.html)

  • SQL Server文章目录(https://www.cnblogs.com/CareySon/archive/2012/05/08/2489748.html)

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

推荐系列教程

  • ADO.NET教程(https://www.cnblogs.com/liuhaorain/tag/ADO.NET/)

  • 全网最全MVC教程汇总(https://www.cnblogs.com/mq0036/p/9008969.html) ,其中的ASP.NET MVC 小牛之路系列可以重点看看,对你理解MVC实战很有帮助。

推荐视频

  • C#入门到精通(传智播客黑马程序员课程(https://www.bilibili.com/video/BV1FJ411W7e5?from=search&seid=8949377659058078966))

  • 2021新版Asp.Net MVC | 入门到精通自学必备最全实战教程(2021新版Asp.Net MVC | 入门到精通自学必备最全实战教程(C#/.NET入门教程/.Net Core/程序员/编程)B0222_哔哩哔哩_bilibili)

.Net Core


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

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

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

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

推荐书籍

  • 《深入浅出ASP.NET Core》

推荐系列

  • 关于ASP.NET Core的分享之路(壹佰文章最全总结| 《关于ASP.NETCore的分享之路》 - 老张的哲学 - 博客园 (cnblogs.com))

  • 系列一:ASP.NET Core学习视频教程(Blog.Core项目)(系列一、ASP.NET Core 学习视频教程(Blog.Core)_哔哩哔哩_bilibili)

  • ASP.NET Core合集(ASP.NET Core合集_哔哩哔哩_bilibili)


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

上文中提到的所有编程书籍PDF版我都整理放在了公众号中,你可关注后回复“C#入门指南”进行下载;如果想白嫖视频资源,也可回复“C#视频资源”,就会找到电子链接,希望对你有帮助。

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

寄语


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

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

欢迎扫描下面二维码,关注我的原创公众号【Andy阿辉】,写一些程序员的所思所想,希望对你有帮助。也可以添加我微信,解答你的任何问题。

写一些思考和感悟
- END -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

msdn中C#中常用词汇概念(转帖)

p C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序。 p C# 作为一种面向对象的语言,支持封装、继承和多态性概念。所有的变量和方法,包括 Main 方法(应用程…

丰巢刷脸取件被小学生破解,号称3D、深度学习加持的人脸识别究竟靠谱吗?...

全世界只有3.14 % 的人关注了青少年数学之旅经费不够,2D来凑?前些天,丰巢智能快递柜被“小学生”用打印照片破解,让人大跌眼镜。据《人民日报》报道,嘉兴上外秀洲外国语学校402班科学小队向都市快报《好奇实验室》报料…

Linux脚本利器sed

sed文本例子使用以下文件 $pg quote.txt The honeysuckle band played all night long for only $90. It was an evening of splendid music and company. Too bad the disco floor fell through at 23:10. The local nurse Miss P.Neave was in attendance.1 sed怎样读取…

伍迷随想冷饭集 之 瞻前顾后之随想

哈哈,很是开心,今天是我的生日,由于各地对年龄的计算方法不同,你认为我是25周岁、26岁、还是27虚岁都行,反正是又老一年了。几乎在每年的这个时候,我都会对自己做一个小小的总结,不过以前都没有…

c语言while运行出现错误,【图片】为什么我的while(1)不执行啊?【c语言吧】_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include #include #include /*设定:玩家:攻击力,生命值,技能效果,CD;敌人:攻击力,生命值,CD&#xff1…

研究生和本科生

一个月拼死拼活,一分钱不花才能买到连半个单人床都不到的屁大点地方。结婚得10年,买房得25年……这样生活还不如花5块钱买把犏刀抢银行!!!于是我做梦手持菜刀,凶神恶刹一样冲到银行门口。突然,一…

微软面向初学者的机器学习课程:3.1-构建使用ML模型的Web应用程序

写在前面:最近在参与microsoft/ML-For-Beginners的翻译活动,欢迎有兴趣的朋友加入(https://github.com/microsoft/ML-For-Beginners/issues/71)构建使用ML模型的Web应用程序在本课中,你将在一个数据集上训练一个ML模型…

我们单位里新来的应届毕业生(转贴)

我在一个BBS上看到的贴,觉得很好玩,就转过来了....大家一起分享吧....1.公司新配给我一个助理.今天,我,助理以及我们老总,去局里开会.会毕,领导要写个注意事项给我们.我和老总当时拿笔都不太方便.我随口问助理..你带笔了吗?他马上回答:带了然后,几双眼睛看着他..接下来的十秒钟…

boost pool内存池库使用简要介绍

2019独角兽企业重金招聘Python工程师标准>>> 我厂内存次神马的一般都自己实现。我曾经也自己写过一个demo(mempool)。后来发现boost库里面有一个内存池库boost pool,貌似很好用,使用挺好,例子可以贴出来。 boost一共有4种内存池&…

嫁给我好吗?| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅

c语言得到txt文件的长度,我利用C语言实现SHA-256算法,需要从一个txt文件中读出数据并把...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼并把得到的密文写入另一个txt文件张该怎么改代码啊?#include #include extern char* StrSHA256(const char* str, long long length, char* sha256);int main(void){char text[] "123";char sha256[65];StrS…

惠普前总裁孙振耀指点职业规划

HP大中华区总裁孙振耀退休感言:如果这篇文章没有分享给你,那是我的错。 如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。 如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫”…

.NET Core etcd 配置源

etcd 是一个高可用的 Key/Value 存储系统,主要用于共享配置和服务发现,和目前比较主流的配置中心(如:Spring Cloud Config、Apollo、Consul、Nacos)、注册中心(如:Zookeeper、Eureka、Consul、N…

继相对论、量子论之后,它的出现,给牛顿又来了致命一刀

全世界只有3.14 % 的人关注了青少年数学之旅前两天,有模友留言。今天,它来了。“微小的变化能带动整个系统的长期的巨大的连锁反应。”——节选自其实“混沌”一词,最早指的是宇宙未形成之前的混乱状态。/此混沌非彼馄饨/在希腊神话中&#x…

django基础1--django安装与helloworld测试

第一步测试服务器是否安装python直接输入python命令即可,ctrld退出第二步上传django安装包,解压进入后python setup.py install 安装第三步Python导入django看看是否生效先python进入python环境,然后import django命令查看是否正常执行第四步…

C#打造自己的文件浏览器

C#的功能十分强大,用它可以轻松地做出属于自己的文件浏览器。下面简单地介绍一下文件浏览器的大致实现过程。其中涉及的有关这些控件的具体用法可参见C#的联机帮助。你需要用到几个控件:TreeView(用于显示显示目录树);ListView(用于显示文件和…

c语言函数调用二次方程求根,[编程入门]自定义函数求一元二次方程 (C语言代码)...

解题思路:别慌,慢慢看。注意事项:参考代码:#include #include double dt(double a, double b, double c);int main (void){double x1,x2,a,b,c,p,q;//p,q先别管待会说scanf("%lf %lf %lf",&a,&b,&c);//double类型lfif(dt(a,b,c)>0){x1(-bs…

Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想

在 WPF 中&#xff0c;我们可以方便的在全局范围定义一个样式&#xff0c;就可以应用到所有这种类型的对象&#xff0c;这就是所谓的隐式样式&#xff08;implicit Style)&#xff0c;比如&#xff1a; <Window x:Class"WpfImplicitStyle.Window1"xmlns"http…

如何排查 .NET 内存泄漏

内存泄漏通常表示&#xff1a;一个应用程序的某些对象在完成它的的生命周期后&#xff0c;由于它被其他对象意外引用&#xff0c;导致后续gc无法对它进行回收&#xff0c;长此以往就会导致程序性能的下降以及潜在的 OutOfMemoryException。这篇我们通过一个内存泄漏工具对 .NET…

这就是你在妈妈肚子里尿尿的样子 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅其实“站着说话不腰疼”是有科学依据的不同姿势下腰椎承受的压力是这样的三思逍遥这是你在妈妈肚子里尿尿的样子不少人觉得葡萄上白色的这一层粉是“脏”的表现其实它是葡萄的“果粉”不仅对人体无害还可以代表这个葡萄很新鲜现实告诉…