【我来解惑】.Net应该学什么怎么学(一)

上篇《学了.Net作什么开发》中我讲到了目前.Net开发主要方向是Web开发,所以在本篇中我将主要讲解作Web开发要学哪些东西,怎么学,因为内容比较多,我将分几回发。下图是我推荐的学习内容和学习顺序(除了这里列出的内容,要走向高手之路确定还有更多技术须要学习,我这里只是对于初学者列出的主干学习内容,并非所有):html

 

    开发者口中的.Net全称是.Net Framework,在中国大陆,通常将.Net读做“道特耐特”(中文音标比英文音标更好读,呵呵)或者“点耐特”。.Net是微软推出的一门技术,它是一个技术平台,基于这个平台进行开发能够简化不少工做。关于到底什么是.Net,不是一两句话能说清楚的,并且也没办法让初学者理解到底什么是.Net,所以你只要记住.Net这个词,随着咱们越学越深刻,你就会理解.Net究竟是什么东西了。程序员

    基于.Net平台上有不少语言,好比C#、VB.Net、IronPython、F#、Powershell等,F#、Powershell是知足特定用途的语言,IronPython、IronRuby等并无普遍应用,VB.Net是仅次于C#的第二大基于.Net的语言,不过按照微软的战略是把主要精力放到C#上,VB.Net只是微软为了将VB开发人员平滑的转移到.Net平台下的语言。所以对于语言来讲你们学习C#便可。C#在中国大陆的叫法通常是“C sharp(C煞普)”,也有少数人读成“C井”,我不推荐这种叫法。算法

    初学者可能会弄不清C#和.Net的关系,.Net是一个技术平台,而C#是这个技术平台上的一门语言,就像Windows是一个操做系统,而Word、QQ、FireFox则是在Windows上运行的一个程序。初学者没必要纠结于这个概念,不是很明白也不要紧。shell

    .Net的开发工具是VisualStudio,VisualStudio如今有VisualStudio200五、VisualStudio200八、VisualStudio2010等版本,注意不要纠结于“到底装VisualStudio2005仍是VisualStudio2008,据说有的公司还在用VisualStudio2005”、“究竟是用新版本的VisualStudio2010仍是用VisualStudio2008”这样的问题,由于这些版本并无本质的不一样,使用方法都相似,就像你会用WindowsXP,换了Windows7之后通过短暂的熟练会用Windows7了同样。由于VisualStudio2010比较消耗资源,若是你的计算机配置较好能够安装VisualStudio2010,若是配置较差则推荐安装VisualStudio2008。编程

     要学习Web开发必定要按照正确的顺序进行学习,不少人被一些《21天精通***》这样的垃圾书的影响,不学C#、不学.Net Framework、不学Dom,直接上来就学ASP.Net,拖两个控件、配两个属性、双击控件写一个事件响应方法,就开始自夸“精通ASP.Net”了,照着书控件拖来拖去,但是连C#、.Net、ASP.Net、HTML、JavaScript以前的关系是什么都不清楚,闹出了不少笑话。欲速则不达,速成的结果就是之后浪费更多的时间,回想这么多年你走过的路,有多少次为了走快点就跳着走,最后又浪费时间返工的事情,按照正确的顺序才能更快、更好的掌握.Net。数组

    有的人可能认为“我不想成为高手,有一口饭吃就好了,会拖控件就好了呗”,千万不要觉得会“不拖控件的开发”就是高手了,高手没有那么好当的。我没有奢求学编程的人个个都是以“成为世界顶尖级程序员”、“国内.Net开发者中的知名开发者”为目标,这个也不现实,大部分人学编程只是看作软件开发工资不低,想赚几年钱娶媳妇生娃,这种想法并非多没出息的想法,毕竟“老婆孩子热炕头”是最朴实的幸福,你不须要背负“振兴中国软件产业”这种的重任,可是最起码应该找到一份不错的工做,工做几年之后能有钱交得起房子首付(对于大部分人来说,可以交得起首付成为房奴都是很奢侈的事情)、每个月供月供吧,若是只会拖控件的话就不是能不能成为高手的问题,而是能不能养家糊口的问题了。ide

     下面来详细讲解学习的各个步骤:函数

1、C#面向过程编程。工具

    学习C#语言分为C#面向过程编程和C#面向对象基础两部分。听到“C#面向过程编程”有人会问了“C#不是一门面向对象的语言吗,哪儿来的面向过程编程?”,其实面向对象不是代替面向过程的,面向对象是面向过程的一个补充和发展,面向过程就是代码逐行执行,面向过程就是if/else,面向过程就是for循环,面向过程就是变量、函数,C#中最基础的也是if、for、变量、函数等这些东西,这些东西就是C#的面向过程部分。对于编程的初学者来讲,最难的不是类、继承、控件、ASP.Net、AJAX之类神乎其神的东西,而是“程序化的思惟方式”,也就是怎么把一个问题的解决方式用计算机的思惟方式进行描述。学习

    我接到过不少想深刻学习.Net学生的咨询,当我问到“你的.Net基础怎么样”的时候,不少人都回答“学过C#、.Net、ASP.Net,感受基础还行”,可是我给了他一个很简单的题,好比“用for循环累加的方式计算1到100之间整数的和”、“提示用户输入两个数字,而后程序打印两个数字的和”,不少人都作不出来。

    对于初学者来讲先不用管面向对象、ASP.Net之类的东西迷惑,先学习用最朴实的for、if来编写程序,经过亲手编写练习题代码来逐渐造成程序化的思惟方式,这个阶段也不要使用“看起来很酷”的WinForm或者ASP.Net页面来作,由于那样就会涉及到这个阶段不须要去了解的问题,先编写最简单的控制台程序就能够。推荐你们看我录制的视频教程《【传智播客.Net视频】第1季C#编程基础》,这个教程针对C#零基础的同窗进行讲解,而且在课程中给出了很是多的练习,必定要本身亲手把代码熟练的写出来,记住是亲手写出来,而不是照着个人代码抄,更不能是看懂了个人代码就觉得本身掌握了,要知道“看懂了”和“会写了”之间差着十万八千里呢。对于初学者来讲一开始写那些练习可能有点困难,先理解我写的代码,而后本身总结成“先***后***,再***,若是***则***”这样的用语言描述的算法,而后照着算法描述本身写代码,发现有地方写起来遇到问题的话再参考个人代码,最后作到不用看个人代码、不用看算法描述也能把代码写出来,这样第一阶段的任务就完成了。下面列出我视频教程中的一些练习题,你们能够自测看这个阶段本身是否合格:

练习1:提示用户输入用户名,而后再提示输入密码,若是用户名是“admin”而且密码是“888888”,则提示正确,不然提示错误,若是用户名不是admin还提示用户用户名不存在。

练习2:提示用户输入年龄,若是大于等于18,则告知用户能够查看,若是小于10岁,则告知不容许查看,若是大于等于10岁,则提示用户是否继续查看(yes、no),若是输入的是yes则提示用户能够查看,不然提示不能够查看。(给出测试用例。)

练习3:从一个整数数组中取出最大的整数

练习4:计算一个整数数组的全部元素的和。

练习5:将一个字符串数组输出为|分割的形式,好比{“浮云”,”神马”,”穿梭”}数组输出为“浮云|神马|穿梭”。不要使用String.Join等.Net内置方法。

练习6:有一个整数数组,请声明一个字符串数组,将整数数组中的每个元素的值转换为字符串保存到字符串数组中。

练习7:将一个字符串数组的元素的顺序进行反转。{"3","a","8","haha"} 转换为{"haha","8","a","3"}。提示:第i个和第length-i-1个进行交换。

学C#基础的时候的参考书推荐以下两本:

(1)《C#图解教程》,这本书讲的清晰易懂,不过部份内容安排顺序不合理,你们按照我视频中的顺序进行学习就能够。

(2)《C#入门经典》适合零基础的大部头,不过很是厚,采用的是老外的描述方式,中国人读起来有点别扭,并且中文版翻译的不是太好。 

 注:以上谨表明我的观点,我誓死捍卫你反对我观点的权利,但请评论时保持文明用语。

相关文章
相关标签/搜索