与 Java 不同的是,文件名可以不同于类的名称
在任何 C# 程序中的第一条语句都是:using System; (包含系统命名空间)
在 C# 程序中,多行注释以 /* 开始,并以字符 */ 终止,单行注释用//
关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。
变量分为三种类型:值类型(Value types) 引用类型(Reference types) 指针类型(Pointer types)
引用类型包含 1.对象(Object)类型 2.动态(Dynamic)类型 3.字符串(String)类型
A^B 位运算 相同则为0 不同则为1
for (; ; )
{
Console.WriteLine("Hey! I am Trapped");
}
当条件表达式不存在时,它被假设为真。for (; ; ){} 循环是一个无限循环
访问修饰符 internal:同一个程序集的对象可以访问; protected internal:访问限于当前程序集或派生自包含类的类型。
如果没有指定访问修饰符,则使用类成员的默认访问修饰符,即为 private
在 C# 中,使用 ref 关键字声明引用参数 out关键字是输出参数
C# 单问号 ? 与 双问号 ??
? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。
int i; //默认值0 int? ii; //默认值null
??双问好 如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值
double? num1 = null; double num2 = num1 ?? 5.34; 则num2为 5.34;
结构和类的区别:
1、结构是值类型,它在栈中分配空间;而类是引用类型,它在堆中分配空间,栈中保存的只是引用。
2、结构类型直接存储成员数据,让其他类的数据位于堆中,位于栈中的变量保存的是指向堆中数据对象的引用。
3、结构体中声明的字段无法赋予初值,类可以
4、结构不支持继承,不能声明默认的构造函数
C# 要求成对重载比较运算符。如果重载了==,则也必须重载!=,否则产生编译错误。同时,比较运算符必须返回bool类型的值,这是与其他算术运算符的根本区别。
using 关键字表明程序使用的是给定命名空间中的名称
异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。