如何学习C#,学习C#的步骤.很详细

wuhan__boy 2008-07-09 10:52:04
如果你已经有较多的面向对象开发经验,跳过以下这两步:
第一步 掌握一门.NET面向对象语言,C#或VB.NET。
我强烈反对在没系统学过一门面向对象语言的前提下去学ASP.NET。
ASP.NET是一个全面向对象的技术,不懂面向对象,那绝对学不下去!
第二步 对.NET Framework类库有一定的了解
可以通过开发Windows Form应用程序来学习.NET Framework。ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习ASP.NET就越快。
举个例子:下面简单列出几个对掌握ASP.NET非常重要的概念:
对象的内存模型,委托,事件,多线程,程序集和应用程序域,安全模型
.NET Framework当然还有许多其它的东西,但不理解与把握清楚上述这些东西,是很难真正把握ASP.NET的。

出于急迫的心情与现实的考虑,不少人没有扎实的面向对象基础就想直接学习ASP.NET,其结果只能是欲速则不达。

在具备了面向对象基础之后,以下是具体的学习ASP.NET技术步骤。

第一步:学习HTML与CSS
这并不需要去学一大堆的诸如Dreamweaver,Firework之类的各种网页设计工具,关键是理解HTML网页嵌套的block结构与CSS的 box模型。许多ASP.NET控件最后都必须转化为HTML。而且,div+CSS是当前主流的网页布局模型。
学习这部分时,关键在于理解概念,而不需要将精力花在美化页面的许多技巧上,那是网站美工的工作,不是程序员的工作。

第二步:学习。
不是java,它主要运行于浏览器端。可以完成许多工作,功能也很强大:比如它将客户端网页中的HTML元素看成一棵树,可以编写代码访问并修改树节点,动态生成新的HTML代码,从而达到动态修改网页显示特性的目的。
在目前的网站开发中用得很多,非常重要。
另外,它也是目前非常流行的AJAX技术的基础。

第三步:学习计算机网络原理
找一本大学<计算机网络>教材,重点看看它的有关互联网的部分,了解一些域名解析和HTTP协议等知识。这是进行互联网开发的理论基础。

第四步:学习ASP.NET表示层技术,会设计Web页面
需要结合先前打好的面向对象技术的基础,至少掌握以下内容:
(1)各种Web控件的使用方法,
(2)理解信息在网页中的传送方式,比如Cookie,ViewState,Session等的使用。
(3)ASP.NET应用程序与网页的生命周期,以及相关对象(比如httpcontext,response,request)的用途。
(4)ASP.NET实现事件驱动的内幕
(5)自定义用户控件
再次强调一下,没有面向对象基础,很难掌握上述技术,就只能被这些东东牵着鼻子走了,会很被动。

第五步 掌握数据库技术
具体地说,要学习以下内容:
(1)学会使用SQL Server 2005:不要求精通它的各种工具与管理配置技术,但至少知道如何连接,如何建表,如何创建存储过程
(2)学习ADO.NET,掌握使用代码人工访问数据库(别用VS2005的向导)的方法
(3)学习数据绑定控件的使用

第六步 理解多层架构

这时,先前在对象学习阶段涉及到的程序集与应用程序域等就派上用场了,现在,网站架构大多采用多层架构:表示层、业务逻辑层、数据存取层以及数据库本身。
可以先上网找一此多层架构的资料看,再找一个现成的比较复杂的开源ASP.NET项目分析一下其架构就差不多了。基本上都是一个套路,到处应用。
有的朋友问:学习架构是不是必须学习设计模式。
我的看法是:不必!当然,你如果学习过设计模式,那当然更好。但在实际开发中,如果只想着机械地套用某种模式,反而起不到好的结果。我的观点:在学习设计模式时要多思多悟,其思想就会渐渐地融入你的大脑,在真实的设计实践中,忘掉所有的写在书上的模式,一切从实际出发,相信你的直觉,只要达到设计要求的方案就是可行的方案,事实上,你这样做了之后,回过头来再看,会发现你的设计往往暗合设计模式的理论。

第七步 学习XML与Web Service
先了解XML的基础知识,找本讲XML的书看一下就差不多了,然后,再学习Web Service。Web Service其实可类比为远程方法调用(以XML格式表达的调用信息)。
学 到了这里,如果你还有兴趣,不妨再去看看SOA,不过SOA的资料都是理论与概念,看起来比较郁闷,而且离实际开发可能比较远。所以,这是可选项。

第八步 学习AJAX
学习AJAX的主要目的是创建具有更丰富特性的Web表示层,而经过前面七步的学习,到此再学习AJAX已水到渠成,所有的基础都已具备,不会有太大的问题了。
在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。

第九步 学习RIA技术
RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。
不过目前学习它主要是为了技术储备。估计此技术的普及需要2到3年的时间,因为预装Vista的机器今年才开始大卖。

至此,九阳神功大功告成,您可以靠此神功行走江湖了。

大体就这样学着
/////////////////////////////////////////////////////////////////

事先声明:本文是网摘.我也是初学C#,见到有好的关于如何学习C#的文章,我拿来同大家一起分享.一起学习.
有对C#感兴趣的,可以加我为你的好友,大家一起学习,一起进步.
...全文
3324 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
darlingjoe 2011-10-10
  • 打赏
  • 举报
回复
我顶,这篇文章真不错。
yezhongxinhan 2010-10-30
  • 打赏
  • 举报
回复
用c#能做出扫雷了`` 俄罗斯方块 也做出来`

但是 还是迷茫`` 感觉还是垃圾的很。。。
shmilygy1999 2010-09-03
  • 打赏
  • 举报
回复
说的很具体,很细致,是个好帖子!
这也是个大的方向上的定位,真把这一套弄完了,真就天下无敌了…………
shoujinti88 2010-08-31
  • 打赏
  • 举报
回复
有一定道理
phoeni_xin 2010-02-05
  • 打赏
  • 举报
回复
clairedanes 2010-01-23
  • 打赏
  • 举报
回复
这帖子不错 我收下了
无常名 2010-01-23
  • 打赏
  • 举报
回复
赞同!!!
sunzeyu1988911 2009-10-09
  • 打赏
  • 举报
回复
感觉大学课程什么都不是!各种东西都学,各种东西都没有精通的!郁闷!
ecoole 2009-08-13
  • 打赏
  • 举报
回复
说得很好 我是直接学完HTML 然后大致了解了XML 直接学C# 但是一塌糊涂 现在迷糊中赫赫 大学学习的C JAVA SQL现在荒废了 都荒废了 学了三年 不到一年就荒废了 无语+郁闷。。。。。。。。。。。
yuhaiqing2009 2009-05-18
  • 打赏
  • 举报
回复
谢谢楼主!
xiaowangbadandan 2009-02-10
  • 打赏
  • 举报
回复
dign
xxfxiazai 2008-07-16
  • 打赏
  • 举报
回复
既然看了就顶一下吧
wuhan__boy 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wjp_116 的回复:]
那都是些说教的东西,实用性不大,听他那么说,至少要3年以后才能学ASP.NET。
这跟个人还是有很大关系的,别人的经验只能是个借鉴,不一定适合你,
这是个人观点,希望楼主不会生气
[/Quote]
/////////////////////////////////////////////////////////////////////////////////////////////
恩 对.
我也是这么认为的,上面那只能借鉴.
不能照搬着学,如果那样,那非把人学傻了不可.
其实,照我看的微软官网消息,结合一些调查网站看来.
.NET是未来的发展趋势,学习C#是必然的.知识现在我们没必要去追赶.
据说,C#的正式发布版本是在年底,从反方向看,C#现在还在萌芽的状态.
C#的发明人,曾经说过,C#是有史以来最完美的语言.
但这种完美是需要时间来沉淀的.学习好计算机基础知识,对以后的发展都有好处,以不变应万变.
学好基础才是硬道理.语言只是一种形式而已.
精通一门语言,比别人懂十门语言都值.任何语言都有它存在的理由.
不然,早灭亡了.
最后说下,我原本是学C++的,看到网上沸沸扬扬的"C#传说",我蒙了,盲目学了快半年了.
现在我又转过来学习C++.
我的转变是因为一位精通VB,C++,C#,ASP.NET......多种语言的老手说的,他说,他在计算机世界里爬了近10年.
追着微软的尾巴跑,如果你没有精通一门语言而盲目的追,你没那个实力,更没那个精力去追,到头来,鸡飞蛋打,一事无成.
我很庆幸能得到老前辈的提醒.关于C++,C#的优点和缺点,只有深入的去学了,你才会明白.
我这也是把我的经历说出来,也好让一些正在VB,C++,C#.....语言的盲目追寻中,找到属于自己的出路.
最终的一点,任何没有消亡的语言,都有它存在的理由.深入的去学,并努力去精通它,你就会找到这门语言之所以没消亡的理由.
////////////////////////////////////////////
声明一句,这上面的许多,是我个人学习观点,如果您觉得有什么不对的地方,请提出.大家互相学习.学无止境嘛.
wuhan__boy 2008-07-10
  • 打赏
  • 举报
回复
不用,互相学习.
GhostAdai 2008-07-09
  • 打赏
  • 举报
回复
学习过程:翻开书——看——打瞌睡——关上书——睡觉!
JTFLSH 2008-07-09
  • 打赏
  • 举报
回复
谢谢。是一个方向。
Orangerkey 2008-07-09
  • 打赏
  • 举报
回复
收藏,
谢谢
wynlc 2008-07-09
  • 打赏
  • 举报
回复
还是慢了
wynlc 2008-07-09
  • 打赏
  • 举报
回复
No1
baihe_591 2008-07-09
  • 打赏
  • 举报
回复
哈哈,谢谢楼主的分享.
加载更多回复(9)
课程总体目标:     本中级篇面向的学员不再是完全的编程“小白”,而是具备一定C#编程经验,需要进一步查漏补缺、或者需要进一步全面完善自己C#编程知识体系的广大Unity学员。相信通过本中级篇的学习,可以使得Unity初中级开发人员对于编程语言的掌握更进一步;对于开发中大型游戏项目,在编程语言这一层级进一步打下坚实的语言基础。 “中级篇”课程讲解特点:       本中级篇面向初中级游戏研发人员,以及Unity中高级学习者。为了更加深入的刨析各个语法的本质,我们采用反编译解读IL中间语言的方式,来解构语法难点,使得学员最短时间掌握语法本质。 本课程讲解内容:       C#(for Unity)中级篇 在“C#入门”、“基础篇”的基础之上,从以下四个方面着重研究我们游戏开发(包含软件开发)过程中,C#最重要、最实用的技能模块,使得广大游戏研发人员,对于C#这门Unity脚本有进一步更加完善的认识。一:.Net 框架讲解。    A) .Net 发展历史。    B)  IL  中间语言。 CLR  公共语言运行时。    C) 多维数据(常用二维数组)与交错数组。    D) 可变参数 Params    E) 进一步解释“实参”,“形参”。    F) 类的实例化内存分配机制。二:深入学习对象类型    A)  里氏替换原则(LSP)    B)  类的属性极其本质特性    C)  IS ,AS 关键字    D)  深入学习字符串理论        1] 字符串的“驻留性” 原理。        2] 字符串==与Equals() 的本质区别        3] 更多字符串常用方法学习。    E)  枚举类型以及适用场合。三:深入学习集合特性    A)  什么是索引器,以及索引器的适用范围。    B)  学习自定义集合类,以及深入了解Foreach 语句的原理。    C)  深入学习 ArrayList,了解内部存储机制以及原理。    D)  深入学习 HashTable,了解内部存储机制以及原理。    E)  为什么学习泛型集合?    F)  泛型集合与普通集合的性能测试对比实验。    G)  学习“泛型约束”,以及“泛型约束”的适用条件。四:委托与事件        A)  什么是委托,先从讲故事学习起:“老板来啦”!    B)  反编译掌握委托的本质。    C)  委托的四大开发步骤。    D)  什么是事件,以及委托与事件的区别。    E)  事件的常用使用方式。 温馨提示:       本C# for Unity 使用Virtual Studio2012,进行开发与讲解。(学员使用更高版本,对学习没有任何影响) 一、热更新系列(技术含量:中高级):A:《lua热更新技术中级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架(中)》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:中级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之中级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初中级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(中部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

110,553

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧