【转】C#学习路线WinForm学习路线
前沿:GIS专业刚刚开始接触开发,半年没⼊开发门,学开发智商应该没问题,⾛了不少弯路。博⽂转⾃
  不管学习哪⼀种编程语⾔或技术框架,为了避免“迷路”,少⾛弯路,都应当有⼀条系统的、全⾯的学习路线,笔者认为应以软件常⽤功能为主线,由简⼊繁,逐⼀实践每⼀项功能。笔者曾⾃学过C、VFP、ASP、VB.NET、PHP、JAVA、JSF、C#.NET、WinForm、ASP.NET及⽹页开发等编程语⾔或技术,参与开发的项⽬有⼗多个,笔者认为学习软件开发,⼊门最难,⼊门不是简单的在电脑屏幕上输出“Hello World!”,⽽应当是了解编程语⾔的开发环境和⼯具,学习和掌握基本控件,多应⽤实践。⼊门阶段计算机编程理论⼤可放到⼀边,先学会如何使⽤编程⼯具开发⼩程序,然后再探讨如何开发更复杂的程序,最后再系统性的补全基础理论知识。笔者主张“死记硬背”式⾃学⽅法,先看到效果,再回过头来探讨为什么这么做。初学者如果尝到甜头,那么他就会对软件编程的兴趣会越学越浓烈,从⽽进⼊⼀个良性循环学习过程。如果学C语⾔⼏个周,也只能在⾃⼰的电脑屏幕上输出⼀些字符、写个循环、做个数学运算,那么这个初学者很可能因挫败的成就感⽽丧失对软件编程的兴趣。
  我⼤学期间学习C语⾔的时候,虽然考试成绩不错,但对C语⾔理论还是⼀头雾⽔、充满疑惑,学好C语⾔具体能做什么也不清楚。因C 语⾔的经典和传奇⽽喜欢它,但屡次因未感受到C写程序的成就感⽽放弃。后来,笔者学习⽹页开发、ASP,⾃学半年,虽然能写⼀些动态⽹页,但独⽴做个公司⽹站还很难。
当时公司⽹站市场价还处于万元时代,和现在⼏百元⼀个⽹站相⽐,技术进步了,时代变了。笔者⾃认为在学习VB.NET之前⾃⼰未曾⼊门。⼀次逛书店,偶然翻到⼀本VB.NET开发实战,阅读VB.NET代码如同阅读⽂字⼀样轻松愉悦,按照书本提供的WinForm案例,短短两个⽉的时间就将公司档案系统(ASP版)使⽤Win Form重新开发。后来学习ASP、PHP、Java等编程语也⾮常顺利。⾄此,⽅感恍然⼤悟,学编程这么多年,⼀直懵懵懂懂,归根结底是未到⼊门的切⼊点。
  不论C#、Java、PHP,每种编程语⾔,语法都很相似,功能也相似,那么按照这个道理学习Java和C#应当难度⼀致,但⼤多数程序员都认为学习Java要⽐C#难,学习成本也⾼。笔者认为主要原因是Java的开发环境和资源获取难度要⾼于C#,C#在集成开发⼯具Visual Studio中通过向导分分钟就可看到C#写的程序,Visual Studio由微软提供,其完善程度远⾼于Java的开发环境。⼀个有趣的现象是Java程序员经常满世界寻合适版本的jar包,这也是Java开源项⽬多、资源多的⼀个关键因素。C#程序员这样的经历就少多了,因为微软提供的已经很全⾯了。
  有的程序员认为微软的东东太容易上⼿,所以学.NET不够⾼⼤上、不能证明⾃⼰⽐别⼈聪明,更喜欢使⽤敲命令⾏的⼯具。笔者认为学习计算机编程,可先个“软柿⼦”,再啃“硬⾻头”,所以推荐初学者从C#和Win Form⼊⼿。
以下是笔者整理的学习路线,功能排列没有绝对先后顺序,只是⼀个参考⽅向,欢迎批评指正,欢迎补充!
C#学习路线
1.安装和熟悉开发⼯具或开发环境
2.创建⼀个项⽬,输出Hello World,并在另⼀台电脑上运⾏编译好的演⽰程序
3.熟悉WinForm基本控件
4.数据类型
5.类及属性定义
6.变量
7.赋值
8.运算符
9.字符串拼接,尽量避免频繁使⽤+拼接,可使⽤StringBuilder
StringBuilder sql = new StringBuilder();
sql.Append("select tb.name,ta.* from tablea ta");
sql.Append(" left join tableb tb on tb.id = ta.id");
sql.Append(" where tb.name like '%%'");
sql.Append(" order by tb.name");
10.字符串格式化,使⽤传参⽅式替代字符串拼接
string username = "huiyaosoft";
int age = 1;
Console.WriteLine("Username{0},age{1}",username,age);
Console.WriteLine(string.Format("Username{0},age{1}", username, age));
11.⽇期时间格式化
12.数值格式化
13.保留⼩数
14.条件
15.循环
16.⽣成随机数
17.数组
18.列表
19.队列
20.引⽤命名空间
21.在控制台输出
22.字体样式
23.快捷键
24.对话框
25.⽂件及⽂件夹操作
26.⽂本⽂件读取、修改、删除等操作
向⽂本⽂件写⼊(追加)内容,如果⽂本⽂件不存在则创建System.IO.File.AppendAllText(@"c:\","your content");
读取⽂本⽂件全部内容
string content = System.IO.File.ReadAllText(@"c:\");
27.字符集
28.XML⽂件操作
29.验证码
30.缩略图
31.操作Excel
32.操作WPS
33.错误处理
34.错误⽇志
35.⼆进制流
36.字符编码
37.加解密
38.定时器
39.多进程
40.发邮件
41.调⽤cmd命令提⽰符
42.
43.数据库增删改查操作
44.数据集DataTable
45.字典
46.熟悉WinForm控件
47.⽂本标签Label
48.按钮
49.⽂本框
50.下拉框
51.⽇期时间选择框
52.单选框
53.复选框
54.列表框
55.选项卡
56.分割条
57.树
58.数据表格DataTableGridView/DataGrid
59.控件及事件(单机、双击、获得焦点、失去焦点、选中)
60.表单校验
61.正则表达式
62.消息对话框
63.确认框
编程入门先学什么自学
63.输⼊框
65.调⽤Web Service
66.使⽤代理
67.操作COM⼝
68.打印
69.报表
70.Socket通信
71.托盘⼩图标
72.打开⼀个⽹址
System.Diagnostics.Process.Start("www.huiyaosoft/");
73.打开⼀个⽹址并读取⽹页内容
74.⽂件上传下载
75.⽣成条形码
76.⽣成⼆维码
77.安装包
78.获取ip地址
79.引⽤第三⽅dll
80.⽂档管理系统
81.取得程序当前运⾏所在路径
System.Windows.Forms.Application.StartupPath + "\\";
……

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。