1、面试题1:结构体和类的区别。结构体是值类型,而类是引用类型。
2、面试题2:这里的输出结果是什么?
MyPoint p1 = new MyPoint();MyPoint p2 = p1;//结构体是值类型,拷贝一份Console.WriteLine(object.ReferenceEquals(p1, p2));//falsep1.X = 50;//面试题2:这里的输出结果是什么Console.WriteLine(p2.X); //输出0。分析:p2.X有值时输出其值,没值时默认输出0,这里的p2.X没有值,所以输出默认值0。
3、类型:枚举 enum、委托 delegate、class、结构体 Struct 等。平行的,所以声明的时候一般都是跟class平行,或者单独建个文件。
4、结构体非常类似于类,但是值类型(拷贝传递),不能被继承(常考)。
5、输出结果是什么?
struct MyPoint{public int X { get; set; }public int Y { get; set; }}MyPoint m1 = new MyPoint();m1.X = 10;m1.Y = 20;MyPoint m2 = m1;m2.X = 100;Console.WriteLine(m1.X); //输出10
6、Int32、DateTime等都是结构体,结构体从ValueType继承,值类型。ValueType 值类型。