本帖最后由 jerviscui 于 2013-6-23 20:40 编辑
题外话:上学的时候学过C、Java,C++自己有学过一部分,AS3语法也看过一些。就语法上来说相差的不太多,细节上写法不同。 本篇帖子不讨论语言应用方向,仅仅罗列一下个人学习C#基础知识过程中,语法方面C到C#的变化。有错误的地方还请大家多多指。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
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标志。 1.以“字母”、下划线或者@开头, 2.后跟任意“字母”、数字、下划线。 一般的命名规范成员变量使用Camel命名法,类名和方法名使用Pascal命名法。
所有的变成语言学习时,都会有这么一个例程——Hello World! 同样,C#中通过这样一条输出语句 Console.WriteLine("Hello World!"); 在控制台中输出“Hello World”字符串。在这个例程中你完全不需要知道该语句是什么意思,是如何是实现的,你只需要知道它能够在标准输出设备上输出内容就足够了。 不同于C语言的是,C#的输出方法Console.WriteLine()中不需要使用格式说明符,只需要通过占位符来调用参数列表中的元素,如下代码: Console.WriteLine("{0} {1} {2}", para1, para2, para3); 其中0、1、2 表示参数列表中元素的下标,{0}代表了参数列表中第一个元素即para1。 Console.WriteLine("我叫" + name, "今年" + age;); 会输出什么呢?答案是逗号以后的内容("今年" + age)是作为参数存在的,并不会被输出。
C#中转义字符同样有\n、\t、\b等等,但是相较于C多了一个@转义字符。 @转义字符的用处有两点:1.使其后字符串中‘\’不再做转义字符使用 2.可以在字符串中使用回车换行,并且输出时会按照当前代码中的格式输出 需要注意的是:有@的情况下,要在字符串中输出双引号,则需要用两个连续的双引号来输出。 Console.WriteLine(@"ABC ""d"" EFG");输出:ABC "d" EFG
Convert.ToInt32(string s) 将数字字符串转为整形,转换失败会抛出异常,可以用try-catch捕获。 try{} catch{}异常捕获:将可能发生异常的代码写在try中,如果执行过程中出现错误立即进入catch中执行,出错处以后的代码将不再执行;如果没有错误则跳过catch中代码段。
(高->低) 【单目运算符】》【逻辑非!】》【算数运算符】》【移位运算符<<、>>】 》【关系运算符】》【位运算符&、|、^】》【&&、||】》【赋值运算符】
与C中不同的是,case的标签可以是字符串类型。如下代码: string a = "a"; switch (a) {
case "a": Console.WriteLine(a); break;
case "b": break; }
enum Gerden {男, 女}; 因为C#支持字符集使“字母”不仅仅限于26个英文字母,也可以用汉字作为变量名称。这里的“男“和”女”实际为枚举类型成员变量名。实际上枚举类型成员变量存储的仍然是int类型值,默认从零开始,每个元素递增1。 Console.WriteLine(Gerden.男); 当输出枚举成员变量时,输出的是成员变量名,即输出:男 Console.WriteLine((int)Gerden.女); 可以通过强制类型转换输出成员变量int值,输出:1 (Gerden.男输出0) *字符串转换为枚举类型* (自定义枚举类型)(Enum.Parse(typeof(自定义枚举类型),"待转换字符串")); 可用于输入字符串与已有枚举类型成员比较。
out:在方法声明中对形参类型前面加out关键字,表明这个参数用于传出值。并且在方法调用处,对应的实参也需要out关键字修饰。需要注意的是在函数声明中传出参数使用前必须赋值。一个典型的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
|