题外话:上学的时候学过C、Java,C++自己有学过一部分,AS3语法也看过一些。就语法上来说相差的不太多,细节上写法不同。
本篇帖子不讨论语言应用方向,仅仅罗列一下个人学习C#基础知识过程中,语法方面C到C#的变化。有错误的地方还请大家多多指。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
C#的预定义类型: string、decimal
string字符串类型,是引用类型,在面向对象的语言中都存在的,使用上没有什么变化。
decimal属于浮点类型,有效范围±1.0x10-28 ~±7.9x1028 精度为28~29位;就是说decimal变量的有效数值都在精度范围内,是完全可信的值。所以decimal多用于存储金钱数据。相对于同属于浮点类型的double,有效范围±5.0 × 10 −324 ~±1.7 × 10308精度为15~16位,由于精度的不同所以double和decimal是不能够进行自动类型转换的。并且,C#中默认小数是double类型,所以decimal变量初始化赋值时候需要常数后加M/m标志。
C#中变量命名规则
1.以“字母”、下划线或者@开头,
2.后跟任意“字母”、数字、下划线。
一般的命名规范成员变量使用Camel命名法,类名和方法名使用Pascal命名法。
第一个输出语句
不同于C语言的是,C#的输出方法Console.WriteLine()中不需要使用格式说明符,只需要通过占位符来调用参数列表中的元素,如下代码:
Console.WriteLine("{0} {1} {2}", para1, para2, para3); 其中0、1、2 表示参数列表中元素的下标,{0}代表了参数列表中第一个元素即para1。
Console.WriteLine("我叫" + name, "今年" + age;); 会输出什么呢?答案是逗号以后的内容("今年" + age)是作为参数存在的,并不会被输出。
转义字符
@转义字符的用处有两点:1.使其后字符串中‘\’不再做转义字符使用
2.可以在字符串中使用回车换行,并且输出时会按照当前代码中的格式输出
需要注意的是:有@的情况下,要在字符串中输出双引号,则需要用两个连续的双引号来输出。 Console.WriteLine(@"ABC ""d"" EFG");输出:ABC "d" EFG
字符串转整形
try{} catch{}异常捕获:将可能发生异常的代码写在try中,如果执行过程中出现错误立即进入catch中执行,出错处以后的代码将不再执行;如果没有错误则跳过catch中代码段。
运算符优先级
【单目运算符】》【逻辑非!】》【算数运算符】》【移位运算符<<、>>】 》【关系运算符】》【位运算符&、|、^】》【&&、||】》【赋值运算符】
switch-case
string a = "a";
switch (a) {
case "a": Console.WriteLine(a); break;
case "b": break;
}
枚举 enmu
enum Gerden {男, 女}; 因为C#支持字符集使“字母”不仅仅限于26个英文字母,也可以用汉字作为变量名称。这里的“男“和”女”实际为枚举类型成员变量名。实际上枚举类型成员变量存储的仍然是int类型值,默认从零开始,每个元素递增1。
Console.WriteLine(Gerden.男); 当输出枚举成员变量时,输出的是成员变量名,即输出:男
Console.WriteLine((int)Gerden.女); 可以通过强制类型转换输出成员变量int值,输出:1 (Gerden.男输出0)
*字符串转换为枚举类型*
(自定义枚举类型)(Enum.Parse(typeof(自定义枚举类型),"待转换字符串")); 可用于输入字符串与已有枚举类型成员比较。
out 与 ref 关键字
一个典型的out传出值函数,定义如下:
public static bool TryParse(string s, out int result); 该方法用于将字符串s转换成Int32类型,result为传出值参数。该方法用于将字符串s转换成Int32类型,成功返回true,失败返回false。与Conver.ToInt32()不同的是转换失败不会产生异常。
ref:同样是使参数用于传出值。语法的使用格式上与out相同,区别是ref实际上是传递实参变量的地址给形参。就是通常所说的参数传值与传址的区别。
-The End-
© Jervis
许庭洲 发表于 2013-6-20 07:28
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |