前言
本文写给想学C#的朋友,目的是以较快的速度入门
C#好学吗?
对于这个问题,我以前的回答是:好学!但仔细想想,不是这么回事,对于新手来说,C#没有那么好学。
如果你要入门Java,那学Java Web就行了,但是C#方向比较多,你是学控制台程序、WebAPI、ASP.NET、Winform还是WPF?如果再区分一下.NET Framework和.NET Core,应用程序类型就更多了。
我建议可以通过控制台程序和Winform入门,这样才简单。
控制台程序可以用于写Hello World,以及学习语法的时候写一些小Demo;通过Winform程序,就可以写一些小应用了,比如计算器、时钟,以及你能想到的小工具,都可以用C#写。
比如计算器程序,可以写的很简单,也可以写的很复杂,这是我2012年写的:Calculator
万事开头难,简单入门之后,C#的简单易学才真正体现出来。
看什么书?
不建议看视频学习,除非你确实找到了不错的入门视频,原因:1、C#优秀入门视频不多;2、看视频学习速度慢,只学语法没有用,看不到学习成果,学完就扔了。
我上大学时,图书馆借的书,书名忘了,那个时候只要适合初学者的书都行,用了一个星期,学习了C#的语法和Winform,然后我就入门了,当时还写了一个系统,系统名称我忘了,就是展示校园的二维地图,然后可以查询地图上的信息。
工作以后,我是做C# Web开发的,买了薄一点的书,讲C#语法和ASP.NET,又系统的学习了一下,实际上有一部分内容工作中不用,一时半会吃不透就没有看了。进阶学习买了《C#高级编程》,书我是选着看的,并没有从头到尾按部就班看完。
这里推荐一本从当当网搜索到的书,《C#入门经典》第9版,书的内容更新至C#9和.NET5,很新了。
书怎么看?
- 前两章了解,学完知道怎么编写控制台程序,也就是怎么写Hello World。
- 后面几章是重点,讲语法,包括变量、表达式、数据类型、流程控制、函数、面向对象、类、集合、泛型。
- 后面是高级内容,就可以慢慢学了,有空再学,或者用到了再学。
- 简单学习一下Winform,书上也可能讲的是WPF,反正都是拖控件,会使用VS创建Winform程序,会拖控件,最简单的,双击控件就可以编写代码了。拖控件干什么?学会拖控件,你就可以发挥自己的想象力了,写个计算器、写个小工具等,我上学那会写过屏保(用VB写的,跟C#是一样的,书上可没有这个,就是发挥想象力,你想到个点子,自然就知道去研究怎么写),写过时钟程序,写过定时自动关机等。
然后
恭喜你!你已经入门了!这意味着什么,只要有公司要你,你就可以干活了!
可是、可是,公司做Web项目,我ASP.NET还没学啊?你以为是Java啊?!你只要会照葫芦画瓢,你就能干活了!
当你干了两天活之后,对于ASP.NET的学习,你是买书,还是看视频,随你便。
我以前就是这样入门的,那是十几年前了,现在太卷了,关键是没人要。但记住,你其实能干活了。
如果你知道微软的文档怎么看,那更好
例如:
- 《C# 编程指南》 还不错
- 《.NET 文档》 讲实在的,对于新手来说,真没法看了,范围有点大,所以我说你知道怎么看最好,不知道以后再说
- 《ASP.NET 文档》 这个范围稍微小一点
- 《使用 ASP.NET Core 创建最小 Web API》 《使用 ASP.NET Core 控制器创建 Web API》 这个范围再具体一点,看完就可以写Web API了,这个有用
入门的关键点
- 学会基本的语法。(不会Lambda表达式不影响写C#代码,要学的话,先记住一种固定写法,几分钟就能学会)
- 学会使用VS2022创建控制台应用程序和Winform应用程序;学会拖控件、设置控件属性和事件、调试;对于VS2022的使用,自己探索,反正都是汉化版的,多点点就行。
- 尝试写点小工具,或者干点具体的活,不会就百度,百度时,搜索关键词一般是“C# XXX”、“Winform XXX”、“.NET XXX”、“.NET6 XXX”、“.NET Core XXX”。
- ASP.NET MVC是有点复杂学习需要点时间,ASP.NET Web API就可以很简单,可以先学这个。