C# 保留关键字
C# 上下文关键字
标识符可用@
数据类型
sizeof同C++
内置引用类型
对象类型 object
object类似于void
其它类型可以转化为object,称为装箱;
object类型转化为其它类型,称为拆箱;
类型检查时在编译时发生。
object obj;
obj = 100; // 这是装箱
动态类型 dynamic
声明方式:
dynamic <variable_name> = value;
类型检查在运行时发生,和object类型的区别。
字符串类型 string
string str = "hello world";
字符串加@表示将转义字符按照一般字符对待。@“” 等于 \
指针类型 pointer type
指针类型类似于C++
C# 类型转换
隐式类型转换
编译器自动完成转化
显示类型转化
double b;
int a = (int)b;
C#提供的类型转化方法
类型转化类似于上图,一般为To…
C# 变量
和C++不一样的,其它都一样。
转义字符
位运算
循环–foreach
比C++多的
封装
internal 访问修饰符
Internal 访问修饰符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。换句话说,带有 internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。
protect internal 访问修饰符
Protected Internal 访问修饰符允许在本类,派生类或者包含该类的程序集中访问。这也被用于实现继承。
protect 访问修饰符
Protected 访问修饰符允许子类访问它的基类的成员变量和成员函数。这样有助于实现继承。
牛犇
C# 方法
在 C# 中,使用 ref 关键字声明引用参数
C# 可空类型 Nullable
单?
? 单问号用于对 int、double、bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。
表示:能够被赋值为NULL
int? i = 3;
//等同于下面
Nullable<int> i = new Nullable<int>(3);
//表示ii的默认值为NULL
int?? ii;
双??
Null 合并运算符(??)用于定义可空类型和引用类型的默认值。Null 合并运算符为类型转换定义了一个预设值,以防可空类型的值为 Null。Null 合并运算符把操作数类型隐式转换为另一个可空(或不可空)的值类型的操作数的类型。
如果第一个操作数的值为 null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。
数组
数组定义
double[] balance;
数组初始化
double[] balance = new double[10];
数组细节
补