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));