1、装箱拆箱
C#中所有类型都继承于System.Object类型,所有的值类型都继承于System.ValueType类型
何谓装箱?就是把值类型变成 object 类型
何谓拆箱?把引用类型变成值类型
装箱拆箱,实现值类型和引用类型之间的转换
不管装箱还是拆箱,建议都用显示的
装箱过程中什么类型,拆箱过程中就必须是什么类型
int i = 100;
object obj1, obj2;
obj1 = i; //隐式装箱
obj2 = (object)i;//显式装箱
int j, k;
j = (int)obj1; //拆箱只能是显式的
//k = obj2;
Console.WriteLine("i为:"+i);
Console.WriteLine("obj1为:" + obj1);
Console.WriteLine("obj2为:" + obj2);
Console.WriteLine("j为:" + j);
2、可空类型定义:int? num=null;
3、x is T ,判断x是否属于类型T
int[] myArray=new int [4];
if(myArray is int[])
{
Console.WriteLine("myArray是数组");
}else{
Console.WriteLine("myArray不是数组");
}
输出:myArray是数组
4、sizeof
用于获取值类型的字节大小,只能用于值类型,它和指针只能在不安全代码中
5、
double x=0, y;
if(x>=0) {
y = Math.Sin(x) + 2 * Math.Sqrt(x + Math.Exp(4)) - Math.Pow(x + 1, 3);
}else {
y = Math.Log((-5) * x) - Math.Abs(x * (x - 8)) / (7 * x) + Math.E;
}
//系统方法判断闰年
int year = 2009;
if (DateTime.IsLeapYear(year))
{
Console.WriteLine("闰年!");
}else {
Console.WriteLine("非闰年!");
}
6、Max和Min函数的使用
int a = 4;
int b = 9;
int max = Math.Max(a, b);
int min = Math.Min(a, b);
Console.WriteLine("max:{0}",max);
Console.WriteLine("min:{0}",min);