本文共 1134 字,大约阅读时间需要 3 分钟。
1.C#本身不是.NET的一部分。.NET支持的一些特性,C#并不支持。而C#支持的另一些特性,.NET却不支持(例如运算符重载)
2.编译分两个阶段: (1)把源代码编译为Microsoft中间语言(IL)。 (2)CLR把IL编译为平台专用的代码。 3.通用类型系统(CTS),将不同语言的类型映射为中间语言的类型,从而提供了语言的互操作性。 4.修饰符(public,static),操作符(==,>,<) 5.变量的作用域 (1)同名的局部变量不能在同一作用域中申明两次。 (2)类的字段和局部变量允许使用相同的名字。6.常量Const总是静态的,不必也不允许加Static修饰符
7.常量Const和ReadOnly字段的区别在于只读字段可以从一个变量中提取的值去初始化常量。 8.值类型存储在堆栈中,而引用类型存储在托管堆上。C#中,简单数据类型(int,float,byte)、枚举类型和结构(struct)类型都是值类型。包含在引用类型内的值类型不会被存储在栈中,而是堆中,它被包含于引用类型对象中。值类型数组(例如双精度或整型数组)是在堆中存放,而不是栈中。只有保存数组引用的值是存放在栈中。这是因为所有数组类型都隐含派生于System.Array,它们都是引用类型。 9.decimal 类型不是基本类型,所以在计算时使用该类型会有性能损失。float 32位 double 64位 decimal 128位 10.可以在字符串字面量的前面加上字符@,甚至允许在字符串字面量中包含换行符: string jabberwocky=@"'Twasbrilligandtheslithytoves Didgyreandgimbleinthewabe."; 11.Foreach集合中迭代的各项的值不能改变,但若为对象,其属性是可以改变。 12.Continue语句退出当前循环,执行下一次循环 13.预处理指令#define #undef #if #elif #else #endif #warning #error #pragma warning disable 169 #line #region 14.out 关键字的用法。 15.C#的不支持可选参数。 16.所有的.NET类都派生于System.Object。我们定义类时,假定没有指定基类,编译器会自动假定这个类派生于System.Object基类(最后更新于2007-10-28 14:00)
本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2007/10/28/940352.html,如需转载请自行联系原作者