大二下学期了,开了C#课,之前由于种种原因,没有好好学,现在边写博客,边学一学吧。
暂时用学校发的教材为主(李瑞旭主编的C#程序设计教程<中国电力出版社>)之后会通过视频或者其他书籍来巩固提高。
因为大一主修C++,java也只是自己通过看视频看了一点(可以忽略),这段时间一直在弄ACM,蓝桥杯这些比赛,所以,可能会多的指出来一些C#同C++不同之处。
这系列文章纯属个人笔记系列。。不喜轻喷o(╯□╰)o。。但更希望懂的人能指教一下,绝对虚心受教。
首先是基础,任何语言都一样,不可能上来就讲编程吧?
说一下起源、发展、升华那些必不可避免,
对于起源那些,我也说不出个123,还是跳过了。。。
开始先是用控制台应用程序起步
先看一看类型吧,C#大体分为两个类型:值类型和引用类型。
值类型包括:简单类型、枚举类型、结构类型,简单类型就简单了和C++差不多,
①但是多了一个decimal类型,这是C#专门定义的一种十进制类型,主要用于金融和货币方面的计算。该类型是一种高精度128位数据类型(在内存占16个字节)。
②布尔类型跟C++不太一样,在C++中 零整数或空指针可以被转换为布尔值false,而且非零整数或非空指针也可以转换为布尔值true,但在C#却不支持这样的转换。
③字符类型也与C++有差别,主要在于它支持隐式转换为整数类型,但不支持其他类型到char类型的隐式转换。
如: int x = ' a ';
char c = 97;
这两条语句,第一条可以,但第二条不成立。
在设置变量名上,C#允许以@为前缀后面跟关键字,该做法是为了让C#中关键字亦可作为变量名。但是一般不推荐使用这样的变量名。
C#同样是大小写敏感的语言。
C#有许多简便的类型转换函数。用Convert类进行类型的转换(详见附表3),另外,由于Object类是所有数据类型的基类,所以可以用ToString方法将其他类型转换为string类型,对string类型也可以用Parse方法转换为对应的各种其他类型,若无法正确转换,程序将抛出异常。
C#的装箱和拆箱,这个书上只有一页来讲,看它就是将值类型转换为引用类型,便于操作。
详细的我看这篇文章说的还可以:http://www.cnblogs.com/huashanlin/archive/2007/05/16/749359.html
接着来看一看运算符与表达式,这里要说的就两个,一个%,一个+。
%,C#支持浮点数的运算 10.8%4.2=2.4
+,C#对其进行扩展,可以进行字符串的连接 hello+world=helloworld
最后就是数组,数组的声明上和C++有些变化,反正我用着挺别扭的。
C#支持一维数组,多维数组和交错数组。
int [ ] nums;
strin