C#结构体是值类型,方法中传参时是值的拷贝;
结构体定义:
enum PointPosition
{
TopLeft,
TopMiddle,
TopRight
}
struct EdgePoint
{
public int left{get;set;}
public int top{get;set;}
public PointPosition position{get;set;}
public static EdgePoint Empty
{
get{
return new EdgePoint();
}
}
}
//枚举转换
bool b = Enum.IsDefined(typeof(PointPosition),"TopLeft");
PointPosition p = (PointPosition)Enum.Parse(typeof(PointPosition),"TopLeft");
//true
Console.WriteLine(b);
b = Enum.IsDefined(typeof(PointPosition),"TopMiddle");
//true
Console.WriteLine(b);
b = Enum.IsDefined(typeof(PointPosition),"BottomLeft");
//false
Console.WriteLine(b);
EdgePoint p1 = EdgePoint.Empty();
EdgePoint p2 = EdgePoint.Empty();
//true
Console.WriteLine(p1.Equals(p2));
p1.left = 10;
//false
Console.WriteLine(p1.Equals(p2));
p2.left = 10;
//true
Console.WriteLine(p1.Equals(p2));