# 值类型和引用类型
- 值类型:int char double float short byte bool enum struct decimal enum
- 引用类型 string(特殊 值类型性质) 数值 类 接口 委托 object
# 值传递和引用传递(ref)
- 值传递:栈中内容
- 引用传递(ref):栈的地址
# params:
可变参数,放在末尾 public void test(int x,params int[] arges)
1
# out:
public void test(out int x)
{
1.只能赋值,不能取值
2.方式执行完毕之前必须赋值
}
1
2
3
4
5
2
3
4
5
# 拆箱与装箱
拆箱:引用类型转值类型 int n=(int)O
装箱:值类型转引用类型 object o=n
注:装的时候那什么装,拆的时候就拿什么拆
1
2
3
2
3
# 对象判断
object.referenceEquals()判断是否是同一个对象(堆中)
equals,== 在string相等就true
object中和referenceEquals一样
1
2
3
2
3
# 类型转换
隐式 把学生转人
显示 把人转学生(强制转换)int m=(int)double
if(is){as}
1
2
3
2
3
# 弱引用
person p=new preson
weakreference wr=new weakreference(p)
p=null
object o =wr.isAlive
if(o!=null)
{
person p1=o as person
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# operator、explicit与implicit
operator:承载内置转换
explicit(显示转换)和implicit(隐式转换)
public static implicit operator bool(ValidationResult validation)
{
return validation == Success;
}
//在其中一个入参或者回参要在这个参数类中,如
class Digit
{
public static implicit operator double(Digit d)
{
return d;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
← 类的构造和特性 集合 泛型 迭代器原理 →