A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滔哥 黑马帝   /  2013-1-14 11:19  /  8781 人查看  /  16 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

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

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

16 个回复

倒序浏览
21天精通害人不解释...
回复 使用道具 举报
不错。。。。
回复 使用道具 举报
顶   。。。。。。此贴必火
回复 使用道具 举报
得学习学习!
回复 使用道具 举报
Rancho_Gump 来自手机 高级黑马 2013-1-14 11:32:42
地板
顶起来  
回复 使用道具 举报
支持了。。
回复 使用道具 举报
高境 金牌黑马 2013-1-14 11:56:48
8#
{:soso_e179:}很赞哦
回复 使用道具 举报
适合零基础的大部头,不过非常厚,采用的是老外的描述方式,中国人读起来有点别扭,而且中文版翻译的不是太好
回复 使用道具 举报
顶!入门下的电子版,200多M吧
回复 使用道具 举报
一定要自己亲手把代码熟练的写出来,记住是亲手写出来,而不是照着我的代码抄,更不能是看懂了我的代码就以为自己掌握了,要知道“看懂了”和“会写了”之间差着十万八千里呢。对于初学者来说一开始写那些练习可能有点困难,先理解我写的代码,然后自己总结成“先***后***,再***,如果***则***”这样的用语言描述的算法,然后照着算法描述自己写代码,发现有地方写起来遇到问题的话再参考我的代码,最后做到不用看我的代码、不用看算法描述也能把代码写出来,这样第一阶段的任务就完成了。
回复 使用道具 举报
努力学习中
回复 使用道具 举报
看懂和会写是两码事!顶一个
回复 使用道具 举报
多谢涛哥,长知识了:kiss:
回复 使用道具 举报
学的相当不错,值的学习。谢谢版主的发表。
回复 使用道具 举报
基础打下多少,就积累了多少,到后来,工作中用到哪些,才是程序员真正的技术
回复 使用道具 举报
在啃入门经典,书里讲述的内容确实很绕口的说
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马