9.变量表达式及流程控制
这个是C#入门经典的第三章和第四章。第二章介绍的是VS2010的基础知识,表示已阅。吃过午饭以后再楼下摔瓶子发泄了一会儿,心情平静了一点点。
1.C#编译器不考虑代码中的空白字符:空格、回车或tab。这个是编译器做的比较好的一点,可以自由的控制缩进和换行等等排版问题,我又要说之前写cache的时候最后一行多敲一个回车花两天找错的故事了。
2.注释的三种方式://,///,/**/。他们有各自的应用场合,三道杠大致是说明、关键信息摘要、变量提示等等,IDE在编译项目的时候会自动提取注释中的文本,创建一个文档说明书,所以三道杠在编写的时候要遵循XML文档的规则。二道杠最常用,带星号的少用吧,据说有时候编译器对这种多行星号注释的识别有障碍。
3.C#区分大小写。
4..NET Framework名称空间中的两种命名约定:PascalCase和camelCase。他们有各自的应用场合,比如常规的变量就用camelCase,命名空间、类属性用PascalCase,等等规则写多了就知道。
5.下划线作为变量名中各个单词之间的分隔符的方式已淘汰。
6.字面值大概就是JS中说的直接量。int i = 1;1叫做字面值-literal[C]。
7.字符串转义:@"C:\temp"和"C:\\temp"。
8.运算符根据它处理的操作数分为一元、二元、三元;元即为目。
9.++i和i++,在前面就最先做,在后面就最后做。这个在写for的时候,改变计数器那里不会有影响,废话那里不涉及到多个运算符优先级什么的。
10.赋值运算符有六种:=、+=、-=、*=、/=、%=。其他的我就不列了。
11.namespace是.NET中提供应用程序代码容器的方式,以唯一标识代码及其内容,组织具有特定功能和结构的代码的方式。
12.namespace可以嵌套,嵌套的namespace算两个不同的。ns1与ns1.ns2不同。
13.名称由namespace唯一定义,指的是同一个namespace中的名称不能重复,不同的namespac中的名称无关。
14.namespace中的using ns,以及命名空间可以有别名using newName = ns。
15.变量的命名规则:i.第一个字符必须是字母、下划线或@;ii。后面的字符可以是字母,下划线或数字。这种描述提供了在处理某些实际问题时的可用思路,方案分为第一个和其余的。
16.字符串类型的变量使用可变大小的内存,其他变量的内存都是固定大小的。数有8到64位,sbyte(byte)、short、int、long,相应的无符号。
17.布尔运算符即关系运算符。
18.&和|,条件布尔运算符&&与||,&与&&的运算结果完全相同,关于位运算符单独写一篇吧。
19.goto label;label:statement;慎用或不要用。
20.常量的声明需要关键字const、指定变量类型同时赋值,以后就只能用不能改了。
21.流程控制:三目元算符?:、if、switch、goto。
22.跳出switch中case的方式有很多种:break、return、throw、goto都可以。
23.循环有四种:do-while;,while,for,foreach。注意for的计数器在for里定义,作为for的一部分。
24. foreach的集合是只读属性,不能做add或remove等操作。关于错误collectioin was modified; enumeration operation may not execute,是因为Collection返回的IEnumerator把当前的属性暴露为只读属性,所以对其的修改会导致运行时错误,只需要把foreach改为for来遍历就好了。
25.循环中断有四种方式:break-立即终止循环;continue-立即终止当前循环,继续执行下一次;goto-跳出循环到标记处,goto跳入循环是非法的;return-跳出循环及其包含的函数。避免无限循环-死循环。
那么最后,这本书现在来看,每一句话都可以想到一些编程的场景,虽然目前我积累的代码量不大,但是感受已经是有几分了。要继续写,继续看。