C#結構體比較

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

 

發佈了23 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章