[C#] 009. 習慣多載運算子

讀【157個完美化C#的建議】一書的理解筆記 - 009

重點:Operator 多載運算子的用法

流程說明
1. 情境與範例
2. 結論

 

1. 情境與範例

情境:每個地區的薪資統計,最後再加總,我們有以下類別:

public class salary_Unit_Total
{ 
    /// <summary>
    /// 區域總薪水
    /// </summary>
    public int salary_Total { get; set; }
}

現在有1.台北市 2.新北市 薪資資料

//兩區域的各別總薪資
salary_Unit_Total regionTaipei = new salary_Unit_Total() {  salary_Total = 22000};
salary_Unit_Total regionNewTaipei = new salary_Unit_Total() { salary_Total = 30200 };

通常作法:

//相加內部的屬性取得總值
int regionTotalA = regionTaipei.salary_Total + regionNewTaipei.salary_Total;

但是以此情境,我們可以使用多載運算子Operator讓程式碼可讀性更高,如下:

//使用擴展後的operator 使得類別可以用 +號進行運算
int regionTotalB = regionTaipei + regionNewTaipei;

※補充Operator的寫法

public class salary_Unit_Total
{
            /// <summary>
            /// 區域總薪水
            /// </summary>
            public int salary_Total { get; set; }


            /// <summary>
            /// 擴展operator 使得類別可以用 + 號進行運算
            /// </summary>
            /// <param name="A"></param>
            /// <param name="B"></param>
            /// <returns></returns>
            public static int operator +(salary_Unit_Total A, salary_Unit_Total B)
            {
                //將兩個類別的內部屬性總值相加 回傳
                return A.salary_Total + B.salary_Total ;
            }
}

2. 結論

考慮情境在正確使用Operator 。否則會有讓團隊看不懂的Code。

github連結(Vs2015) : 點我下載