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

转载于:https://blog.51cto.com/interneter/534186

.Net应该学什么怎么学(一)相关推荐

  1. 学Java需要学哪些书?

    java技术所要学到的东西是很多的,只要入了这一行,学习是不能停止的,工作节奏在加快,新知识也源源不断,学习的最好途径就是看书,小编给大家推荐这几本java方面的书,搭配学习课程,让学员快速成长,以下 ...

  2. 解惑:学.Net还是学Java?

    因为.Net和Java是国内市场占有率最高的两门技术,对于准备学习编程语言的初学者来说,.Net和Java是初学者首先考虑的两门技术,因此很多人一遍遍的问"学.Net还是学Java" ...

  3. 轻松学编程--轻松学Oracle数据库(附光盘)

    查看书籍详细信息: 轻松学编程--轻松学Oracle数据库(附光盘) 编辑推荐 <轻松学Oracle数据库>本书中引用了大量的动手实践案例来讲解Oracle数据库中的各种知识,使读者能够更 ...

  4. python需要php吗-学python需要学linux吗

    不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux? 首选答案是肯定的, ...

  5. python学了有用吗-为什么要学Python?学了有什么用?

    近几年来,"学Python"的热潮是一浪高过一浪,就连SOHO中国董事长潘石屹近来也在微博上宣布,要开始学习语言Python.为什么要学Python?在当下这个人工智能高速发展的时 ...

  6. 没有统计学基础可以学python-统计学专业应该学Java还是Python?

    在你的问题里面,你自己说你是一个善变的人.至于到底应该学习哪个语言,还是要看你自己,看你自己想要从事哪方面的岗位工作.就目前国内的一个IT行业发展情况的话,我比较建议你选择Java,当然Python也 ...

  7. 别为了学编程而学编程

    "所有人都应该学习编程"(Everyone should learn programming)--这个"病毒"已经广为扩展,达到了失控的地步,以致于纽约市长竟然 ...

  8. 运维开发学go还是python_运维工程师是要学python还是学go那?

    在我们的认知中,运维工程师就是一个背锅侠,那么咱们怎么样来避免做背锅侠那? 可能有人会告诉你,你需要去懂一门开发语言,其实在现价段,掌握一门开发语言已经成为高级运维工程师的必备计能.不会开发,你就不能 ...

  9. Java怎么学?在学Java的过程中要注意些什么呢?

    Java是属于一种面向对象的编程语言,现在很多企业都是使用Java进行大项目的开发.所以在学习Java之后,从业前景是非常广阔的.那么,Java怎么学?在学Java的过程中要注意些什么呢?下面,跟着小 ...

  10. 计算机动漫设计VR主要学什么,动漫设计专业学什么 要学什么软件

    动漫设计专业学什么 要学什么软件2019-05-28 14:00:23文/叶丹 动漫设计专业主要学影视动画设计制作.游戏角色进阶设计合成.广告特效动画设计.影视后期特技.卡通造型数字手绘.交互式3D场 ...

最新文章

  1. python之路---进程
  2. Spring Cloud Netflix Zuul中的速率限制
  3. RTC是DS1339,驱动采用的是rtc-ds1307.c
  4. Ubuntu 使用Git 使用
  5. c#获取当前时间 毫秒_《Linux设备驱动程序》(十二)——时间操作(一)
  6. 阶段3 1.Mybatis_05.使用Mybatis完成CRUD_1 回顾Mybatis的环境搭建-实现查询所有功能
  7. 【九度OJ1522】|【剑指offer21】包含min函数的栈
  8. rabbitm rpm傻瓜式安装
  9. linux操作系统是著名的分布式系统,紫光展锐操作系统生态覆盖 Android、Linux、RTOS,面向分布式、智能化...
  10. cistern java,basin是什么意思_basin怎么读_basin翻译_用法_发音_词组_同反义词_盆-新东方在线英语词典...
  11. namesilo修改域名服务器,Namesilo 域名设置 A记录
  12. WINDOWS symbols
  13. vue瀑布流布局插件vue-masonry
  14. 微商城系统之商家平台任务自动分析处理系统_OctShop
  15. GSM/GPRS之二-短信pdu详细解析
  16. 一建课件下载2019年一级建造师报考流程图,报考步骤一目了然
  17. PyQt5数据库开发2 5.1 QSqlQueryModel
  18. 普通本科,一年经验外包直接跳槽阿里?论我是怎么快速晋升的
  19. ubuntu16.04环境Kdevelop安装和汉化
  20. 【CS231n】五、卷积神经网络简介CNN学习笔记_一只神秘的大金毛_新浪博客

热门文章

  1. 升级mysql服务器二进制备份_MySQL二进制日志备份和恢复详解
  2. Vue打包之后会出现.map文件用处
  3. 委托、lamda表达式..委托概念-匿名函数-泛型委托-Lamda表达式-多播委托
  4. 老大说要自动化测试,我是怎么做的可以看看
  5. 4行代码,让app自动化框架支持 webview 混合应用操作
  6. 【Python游戏】推箱子—老少皆宜的益智游戏,看你能过几关?
  7. lol为什么网络连接到服务器未响应,lol登陆服务器未响应是怎么回事 解决lol登陆服务器未响应有方法...
  8. linux svn missingargument -m,缺少參數-m在windows powershell中使用svn。
  9. 什么是初效过滤器_聊聊中效过滤器的哪些事?
  10. python重命名文件pycharm_Python中批量修改变量名太费劲?Pycharm中使用重命名一次搞定...