.NET学习笔记(1)— C#学习路线图
一:引言
因为工作调整,从PHP开发零基础转型到.NET开发,前期没有太多空闲时间去系统学习。只好独辟蹊径,寻找快速掌握满足当前需求的方法,和大家分享:
<一>:先搜集.NET平台重点知识点的概念名称,然后通过网络搜集该知识点的学习资料,尽可能宏观地了解这个全新技术体系的语法结构,涉及的编程练习题反复练习;
<二>:逐行阅读工程源代码,再通过网络学习遇到的知识盲点,然后把零散的知识点先记录到学习笔记中,后续再统一整理;
可想这份挑战并不轻松,但因为是本职工作,基本一天所有精力都在学习、思考这些新知识,代码和笔记也会反复阅读很多遍。这个体验的过程中,我觉得最重要的收获是:工作中,在时间和精力有限的情况下,先满足当前的需求是最重要的,也就是完成大于完美。另一方面,明确一个目标,制定对应的计划,保持好心态,尽最大努力坚持下去也很重要。
二:.NET技术体系
1:.NET介绍
.NET平台的核心技术为:通用语言运行时(CLR:Common Language Runtiome)、基类库(BCL:BaseClass Library)、.NET语言及VisualStudio.NET,如图:

.NET技术体系沿袭的是微软的技术路线,所以主要面向windows操作系统,基于.NET技术开发的常见软件类型有:
1》:WinForm/WPF技术开发基于Windows平台的客户端软件;
2》:asp.net技术开发的网站;
3》:C#语言编译的Dll文件或者COM组件;
它主要由这几个部分组成:编程基础知识、Web编程、桌面编程以及数据访问技术。下面从几个概念介绍来构筑.NET技术体系的总体情况:
2:C#语法
C#作为.NET体系最常用的开发语言,首先它是一门编译型语言,也是一门类型安全的面向对象语言,它依赖.NET Framework运行。C#的语法特性主要包括属性、枚举、值类型和引用类型(转换)、集合、结构以及Lambda表达式、LINQ、WPF、WebSercice、WCF、Win服务等,可以查阅C#关键字列表看一下。关于变量命名、方法传参、数组、流程控制和循环控制、类的继承、派生、多态这些基本是各个语言公共具有的特性,可参阅其他教程。
3:asp.net站点开发
asp.net是.NET体系的一部分,它综合了HTML、CSS、JavaScript以及C#语言开发网站,asp.net支持三种开发模式:
WebPage(单页面模型)
WebForms(事件驱动模型)
MVC
WebPage是过去那种流程化处理的页面,服务器脚本和前端代码混合。WebForms增加了控件机制,支持编写自定义控件。
4:Winform软件开发
(待续)
5:数据访问技术
(待续)
6:调试和错误处理
(待续)
三:常用工具汇总
VisualStudio(IDE集成开发工具)
MiscrosoftSQL Server(关系型数据库)
IIS/IISEpress(Web服务器)
.NETReflector、ILSpy(反编译工具)
NuGET(包管理器)
VSS/TFS(源代码版本管理、团队协作)
NotePad++
四:学习资源汇总
《C#高级编程》
《ASP.NET MVC 5高级编程》
《深入理解C#》
《Learning hard C#学习笔记》
七:总结
不同语言的程序开发中,大部分基础功能用到的语言特性很相近,比如字符串的拼接和拆分、数组的使用、循环遍历,以及读写文件(txt、XML)、数据库增删改查。重新学习一门新语言,就可以先搜集这门语言独特的语法特性,结合编程练习,达到一定的熟悉程度,可以尝试去练习这些语法公共部分相关的编程练习,这样更容易保证用最短的时间解决当前问题,在后续的漫长时间内,在逐渐深入学习掌握语法细节,并领会背后的设计思想。
.NET学习笔记(1)— C#学习路线图的更多相关文章
- golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍
golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...
- HTML+CSS学习笔记 (6) - 开始学习CSS
HTML+CSS学习笔记 (6) - 开始学习CSS 认识CSS样式 CSS全称为"层叠样式表 (Cascading Style Sheets)",它主要是用于定义HTML内容在浏 ...
- 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧
目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...
- 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用
目录 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用 24.1 expect实现无交互登录 24.1.1 安装和使用expect 24.2 正则表达式的使用 24 ...
- 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用
目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数 ...
- 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环
目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...
- 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用
目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...
- 学习笔记:CentOS7学习之二十:shell脚本的基础
目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...
- 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理
目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...
- 学习笔记:CentOS7学习之十九:Linux网络管理技术
目录 学习笔记:CentOS7学习之十九:Linux网络管理技术 本文用于记录学习体会.心得,兼做笔记使用,方便以后复习总结.内容基本完全参考学神教育教材,图片大多取材自学神教育资料,在此非常感谢MK ...
随机推荐
- poj 1847 Tram
http://poj.org/problem?id=1847 这道题题意不太容易理解,n个车站,起点a,终点b:问从起点到终点需要转换开关的最少次数 开始的那个点不需要转换开关 数据: 3 2 1// ...
- Educational Codeforces Round 7 - E. Ants in Leaves
题目链接:http://www.codeforces.com/contest/622/problem/E 题意是给你一棵树,1为根,每个叶子节点有一个蚂蚁,移动到一个邻接节点时间耗费为1,一个节点上不 ...
- Listview上下滚动崩溃
利用CursorAdapter在ListView中显示Cursor中不同同类型的item,加载均正常,滚动时报如下错误: 11-28 15:18:16.703: E/InputEventReceive ...
- tomcat中的webapps
使用IDE方便开发,使用文本编辑器建立Web工程,有助于理解工程的各个文件组成及底层原理.需搭建好服务器(常用tomcat),当然需要Java运行环境了. 一.建立JSP文件,如helloworld. ...
- c# Internet时间服务器同步
2009-02-02 17:48 8226人阅读 评论(2) 收藏 举报 服务器internetc#socketstringwindows 需要用到的名空间 using System.Net; usi ...
- MPAndroidChart
该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类. linechart 填充式lineChart 单条线的Li ...
- 关于配置php源代码管理环境的几点注意
1.如果你的项目原本就是utf-8的编码,而你设置eclipse的工作空间的默认编码为utf-8后,或者在项目文件夹上右键属性设置了编码类型后依旧没有效果,而是需要在每一个文件上右键属性设置为utf- ...
- xcode7.3 iTunes Store operation failed问题
升级了7.3,真心的不好用啊,bug一堆,写个代码,引入的类根本找不到,必须要command+b 重新编译一遍,现在连提交appstore都有问题. 果断用了 Application Loader上传 ...
- 赋值容器winform 根据NAME查找控件
每日一贴,今天的内容关键字为赋值容器 foreach (Control c in this.panel1.Controls) { if (c is TextBox && c.Name ...
- URAL 1784 K - Rounders 找规律
K - RoundersTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view. ...