1、面试题1:结构体和类的区别。结构体是值类型,而类是引用类型。
2、面试题2:这里的输出结果是什么?
MyPoint p1 = new MyPoint();
MyPoint p2 = p1;//结构体是值类型,拷贝一份
Console.WriteLine(object.ReferenceEquals(p1, p2));//false
p1.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 值类型。