这是第一篇C#的日记,到现在为止已经学习了一个礼拜的C#了。由于是实习中才开始学习,所以这次不准备像在大学学习那样,拿着课本划重点,背概念。这应当是一门实践的课程,应该一边编程,一边学。这是到公司第一个礼拜,没有分配电脑,只能手动写程序了。说说这礼拜的进度吧,首先熟悉了一下vs2010。这个软件真是体积庞大,可以说是包罗万象,在win环境下的事,基本都能做了吧。买了一本head first c#,书上内容比较轻松,图片也比较多,没有一上来就罗列概念,而是随着例子,边做边讲,用到什么就讲什么。事实上,这种方法还不错。比起一下子讲很多概念,这种用例子来诠释概念更为生动,更实际了,不仅知其然而且知其所以然。并且通过对一个例子的讲解,往往能起到对其他知识举一反三触类旁通的奇效。这本书可以说是做的了简单易懂,化繁就简。至于是不是深入浅出,就要等自己学的比较深入了才知道。总之,这本书的章节安排的小训练给了我很大的鼓舞,看到自己的程序能跑起来,心里还是满足的。

那么,来回顾一下一周所学吧。

星期一:第一章 快速开发可视化应用

这章上来就要做一个小应用,我也是吓坏了,不过跟着书本做下来,觉的还挺简单的。当然,只是依葫芦画瓢,照猫画虎。当时第一天做的时候完全就是跟着做,想不出别                的什么思路来。到了今天,我再回头看这个小程序,心里居然有很多想法,例如可以增加许多功能,这个设计有很多bug。事实上,这章最重要的应该是那张需求分析后的                程序结构图。即以图片的形式简要说明了软件的三个层次:可视化对象->数据库对象->数据储存。我想这就是人们常说的三层模型:GUI->业务逻辑->底层数据。

总结:这虽然是个最简单的win application,但是其模型可以说是麻雀虽小五脏俱全了。对于操作来说是没什么难度的,由一些简单的拖控件完成。但是学习的方向不应                          当是拖控件,应当是各个层次之间的衔接。当然,具体控件如何实现也是重要的。今天下午把所有控件熟悉了一下。

成果:完成了书中的名片查看器+自己设计了一个账号密码储存器。

星期二:第二章 控件的背后

书上的标题写的非常好,你是一个程序员,不是一个IDE用户。IDE知识辅助完成工作,要完成工作还是要会编码。

这章开始阐述一些最基本常见的语法知识,变量、循环、运算、命名空间等等。可以说掌握这些最基本的语法知识,可以稍微看看简单的程序。基本可以看出个大概了。

事实上,每个控件也是代码,只不过是一些已经写好的代码,有IDE集成了,写好了让用户调用。右键空间就可以查看代码。在代码页面中,每个控件的代码都能看到,每                个属性的实现,每个方法,每个参数都看的一清二楚。这些就是幕后的故事了。

总结:这章可以说透过了应用,看到了内部的零件。整个程序是如何运作起来的,整个代码的结构,整个工程中的各个文件。到此为止,可以说,对软件的由外到内的一些                        最基本的了解。对软件开发一个模糊的,大概的意识了。现在打开一个软件总是情不自禁的观察他的用户界面,看看它的功能模块。现在才开始了解一个大型软件的                        开发是一件多么复杂的事情。无论多么复杂的程序都是由人们一行一行写出来,拼接在一起。在这一点上,人类已经有些类似于蚂蚁了。

成果:对于程序各个部分的了解+一些简单的调试(变量的变化)+双循环的背景色改变程序

星期三:第三章(上) 编程序的时候也可以谈恋爱->因为你可以面向对象

面向对象是一种编程思想,它是一种思想。相比较于C语言的面相过程,是一种编程的进步,当然两种模式不是对立的。面向过程是一种符合人思维模式的思想方法,因为人              总是习惯一步一步来,按照顺序,按图索骥,很有逻辑感,顺序感。面向对象是一种伟大的创新(谁想出来的?)从这几天做下来看,我这么理解,对象可以看做是一种特殊            的数据类型。在编写程序时除了要面对流程,过程,还要注意所面向的对象(又绕回来了。。)其实是数据的集合,哪些数据可以集合在一起方便管理操作。

总结:看似简单的两个字:对象。这种思想一讲也明白,但是又是千变万化,在实际应用中很可能不知道做一个什么对象。对象的设立也是很复杂,怎样设计才能形式简单,                    功能实用。这个还是要随着不断学习和实践,不断加深理解。事实上,每次重新回顾一遍都会有许多新发现新理解。比如:对象==女朋友。带入到上边的描述毫无违和            感。

星期四:第三章(下)再进一步,对象,我们的方向!

因为感觉面向对象太重要了,于是多花了一天又看了一下。把类,对象,实例彻彻底底搞明白。。。

类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用储存空间。

而从一个类创建一个新对象时称为创建一个该类的一个实例。

关于static关键字,首先,静态方法和非静态方法都可以改变,唯一的区别是静态方法不要求有实例,而非静态方法需要先有一个实例。

创建一个对象实例前可以使用它的非静态方法,如果要使用非静态方法,还是要创建一个实例。

今天的编写代码稍微多了一点,开始注意到了编码的形式,例如喜欢乱起变量名,结果搞得晕头转向的,变量代表什么意思都忘记了,不注意缩进和大括号,总是依靠下面的提           示一股脑打完,这非常不好,不能在一开始就有这种坏毛病。要规范的写,学习书本上的范例的格式来写。

成果:借钱还钱小玩具+代码风格

星期五:第四章 类型与引用

数字类型的转换--数据是程序的基本,那个著名的公式就不谈了。在各个语言中,无疑都对数据类型有着各式各样的要求。数据和数据类型的正确与否的影响实在太大了。

各种数据的应用范围,占用空间大小,哪些可以强制转换,细节决定了很多问题。

引用这个概念我理解了很久,还是有些模糊。

是因为周五么,整个人好像不太稳定,学习效率也有点差。才上了一个礼拜,就。。可能是想明天就是周六可以休息了,这。。。

话说上班也不容易,早上6:40就起来了,自己又磨蹭,到了7:15到车站,坐一个小时的车,8:30到公司。下午5:30下班,到家都得6:50。把饭吃一吃,洗洗弄弄就到了

7:30。稍微码码程序就又要睡觉了。

星期六:我了个大去,起来就快10点了,都不好意思吃想早饭这个概念了。

下午实践,晚上博客总结,一周就这么过去了。周日就把家打扫一下,收拾下。

本周务必要将第四章结束。一共十五章,一个月一定得啃完了。最晚也得在5.1前搞定,包括四个大的练习。

2015.5.28

No.1__C#的更多相关文章

随机推荐

  1. 在 Apache error_log 中看到多个信息,提示 RSA server certificate CommonName (CN) 与服务器名不匹配(转)

    在 Apache error_log 中看到多个信息,提示 RSA server certificate CommonName (CN) 与服务器名不匹配. Article ID: 1500, cre ...

  2. redhat6.4上build storm 0.9.0.1

    1.安装mvn 2.下载源代码 3.build mvn package 过程中出现问题,clojars.org 访问不了.通过私服映射clojars.org并在pom.xml中将dependency的 ...

  3. chromium 一些设置 --插件安装

    一.安装flash插件 打开网页 http://get.adobe.com/cn/flashplayer/otherversions/ 选择如图 所示  fp 18 for Opera and Chr ...

  4. HBase with MapReduce (MultiTable Read)

    hbase当中没有两表联查的操作,要实现两表联查或者在查询一个表的同时也需要访问另外一张表的时候,可以通过mapreduce的方式来实现,实现方式如下:由于查询是map过程,因此这个过程不需要设计re ...

  5. plsql developer 导出导入存储过程和函数

    说明:需要把建表脚本及表数据分开导出,操作很简单.一.导出表及存储过程等对象:1. 登录PL-SQL Developer2. 选择只显示本用户的对象,如下图:3. 选择菜单“Tools——〉Expor ...

  6. C++异常处理的问题

    一般在C语言中,是通过返回值或者设置errno的方式来标识错误的 但在C++里面,构造函数是没有返回值的,于是发明了异常的方式:为了正确的向使用者表明 异常抛出的原因,你必须弄清楚异常抛出的原因(比如 ...

  7. SSH basics

    SSH, Secure SHell, was designed and created to provide the best security when accessing another comp ...

  8. 一些常用的vim设置

    以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键,用起来自然得心应手.vi ...

  9. js 网站顶部导航栏

    (function(){ var map = { 'index' : 0, 'gift_code' : 1, 'base_info' : 1, 'band_phone': 1, 'unlink_pho ...

  10. Application.Exit()结束程序,但线程还在的解决方法。

    出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程.我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们 ...