更新时间:2012年06月05日18时21分 来源:传智播客.Net

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

开发者口中的.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上运行的一个程序。初学者不必纠结于这个概念,不是很明白也没关系。

.Net的开发工具是VisualStudio,VisualStudio现在有VisualStudio2005、VisualStudio2008、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开发者中的知名开发者”为目标,这个也不现实,大部分人学编程只是看做软件开发工资不低,想赚几年钱娶媳妇生娃,这种想法并不是多没出息的想法,毕竟“老婆孩子热炕头”是最朴实的幸福,你不需要背负“振兴中国软件产业”这种的重任,但是最起码应该找到一份不错的工作,工作几年以后能有钱交得起房子首付(对于大部分人来讲,能够交得起首付成为房奴都是很奢侈的事情)、每月供月供吧,如果只会拖控件的话就不是能不能成为高手的问题,而是能不能养家糊口的问题了。

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

一、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#入门经典》适合零基础的大部头,不过非常厚,采用的是老外的描述方式,中国人读起来有点别扭,而且中文版翻译的不是太好。

.Net应该学什么怎么学(一)的更多相关文章

  1. .Net应该学什么怎么学(三)

    更新时间:2012年06月05日18时26分 来源:传智播客.Net 接上篇[我来解惑].Net应该学什么怎么学(二)七.HTML.JavaScript.Dom        HTML是对网页长什么样 ...

  2. .Net应该学什么怎么学(二)

    更新时间:2012年06月05日18时23分 来源:传智播客.Net 接上篇<[我来解惑].Net应该学什么怎么学(一)>. 二.C#面向对象基础 初学者学面向对象的时候没必要(也做不到) ...

  3. python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度

    一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...

  4. ——YC,你学到了吗?——学到了学到了

    又是周末了,想着开始我的每周一切(每周做一次从切图到静态网页布局的练习)任务吧,无意间看了看别人的页面,发现--我去,这个动画挺有意思的啊,怎么实现的?然后翻代码+搜索,啊,原来是插件啊~给我的也用上 ...

  5. 山西大同大学教务处学生端--送给学弟,学妹的礼物,可在PC端,手机端操作

    解决问题:大同大学教务处官网学生端口一进去就卡住了,点上面一行的菜单无响应 转眼已是四年,想想自己大学即将结束,不由得让人感慨啊.这才刚开学几天,我就听到有同学在因为补考,选课的事情发愁.学校官方的教 ...

  6. 开发入门,学Java还是学大数据?

    经常有人问,我想学习开发,到底是学Java好还是学大数据好?或者是,学习大数据还有必要学Java吗?      依我说,这个提问的标准答案是:两者都学.      先来甩两张图.      一张是腾讯 ...

  7. 学web前端一定要这样学,不然学完找不到工作哭都来不及!

    因为工作原因,经常关注有关互联网行业的最新动态.这不,刚送走了高考,又迎来了每年的毕业季,看到好多人都说今年的前端工作不好找,很多童鞋简历投了一大堆,也没有回应,发现连实习的机会都没有,好不容易去面试 ...

  8. .Net应该学什么怎么学(四)

    八.ASP.Net    ASP.Net是.Net中用来开发动态Web应用程序的技术,ASP.Net主要分ASP.Net WebForm(以后简称WebForm)和ASP.Net MVC两种技术,大部 ...

  9. 学Python Django学得很迷茫,怎么办?-转自知乎

    本人学生,零编程基础,在学习python的过程中越学越迷茫,感觉像无头苍蝇一样,来知乎取经,下面进入正题吧:        我是先看了中谷的python教学视频,然后跟着慕课网上的python教程把题 ...

随机推荐

  1. 激活web容器对静态资源的默认servlet处理

    在某些servlet的url匹配模式使用/时会拦截一些静态的资源的请求导致无法正确访问,可以采取web容器默认的servlet来处理,当然那些mvc一般也都提供了处理的方法,用何种方式可以自行决定,这 ...

  2. HDUOJ---1233还是畅通工程

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. 10个常见的Android 新手误区

    在过去十年的移动开发平台中,作为资深的移动开发人员,我们认为Android平台是一个新手最广为人知的平台.它不仅是一个廉价的工具,而且有着良好的开发社区,以及从所周知的编程语言(Java),使得开发A ...

  4. iOS - CFNetwork 的使用

    1.CFNetwork CFNetwork 是基于 OS 层 BSDSocket 封装(纯 C),用于网络通信,早期的网络请求框架 ASIHTTPRequest 就是基于 CFNetwork 进行的封 ...

  5. PLSQL_统计信息系列01_统计信息的概念和重要性

    2014-12-18 Created By BaoXinjian

  6. 利用recv和readn函数实现readline函数

    在前面的文章中,我们为了避免粘包问题,实现了一个readn函数读取固定字节的数据.如果应用层协议的各字段长度固定,用readn来读是非常方便 的.例如设计一种客户端上传文件的协议,规定前12字节表示文 ...

  7. Java 异常模型综述

    一. 异常的引入及基础 发现错误的理想时机是在编译阶段.也就是在你试图运行程序之前. 然而,编译期间编译器并不能找出全部的错误,余下的错误仅仅有在运行期才干发现和解决,这类错误就是 Throwable ...

  8. Python2 字典 has_key() 方法

    描述 Python2 字典 has_key() 方法用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False. 官方文档推荐用 in 操作符,因为它更短更通俗易懂.h ...

  9. Python lstrip() 方法

    描述 Python lstrip() 方法用于删除字符串头部指定的字符,默认字符为所有空字符,包括空格.换行(\n).制表符(\t)等. 语法 lstrip() 方法语法: S.lstrip([cha ...

  10. MySQL使用伪列

    在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,1,2,3,……n 例如:我们根据表的某个字段排序后,要对这些数据加上序列,这个时候序号常常不是我们建表时设置好的自增的主键id,怎么办呢? ...