這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)C#中如何實(shí)現(xiàn)運(yùn)算符重載,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)阿勒泰,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
當(dāng)一個(gè)訂單與另外一個(gè)訂單相加形成一個(gè)新的訂單。新訂單的貨物為兩個(gè)訂單的貨物的并集,總價(jià)為兩個(gè)訂單的總價(jià)和。下面實(shí)現(xiàn)看看,先做個(gè)輔助的貨物類
public class Merchandise{ public int Count { get; set; } public string Name { get; set; } public double UnitPrice { get; set; } }然后來實(shí)現(xiàn)訂單類 public class Order { public double TotalPrices { get; set; } public ListMerchadises { get; set; } public static Order operator +(Order a, Order b){ Order newnewOrder = new Order(){ TotalPrices = a.TotalPrices + b.TotalPrices }; newOrder.Merchadises.AddRange(a.Merchadises); newOrder.Merchadises.AddRange(b.Merchadises); return newOrder; } }
下面是客戶端調(diào)用代碼
Order o1 = new Order { TotalPrices = 500.0 }; o1.Merchadises.AddRange new List{ new Merchandise{Name = "肥皂",Count=100,UnitPrice=3}, new Merchandise{Name = "毛巾",Count=100,UnitPrice=2} } Order o2 = new Order { TotalPrices = 8000.0 }; o1.Merchadises.AddRange new List { new Merchandise{Name = "電視",Count=5,UnitPrice=1000}, new Merchandise{Name = "DVD",Count=5,UnitPrice=600} }
參數(shù)
result-type運(yùn)算符的結(jié)果類型。
unary-operator下列運(yùn)算符之一:+ - ! ~ ++ — true false
op-type***個(gè)(或***一個(gè))參數(shù)的類型。
operand***個(gè)(或***一個(gè))參數(shù)的名稱。
binary-operator其中一個(gè):+ - * / % & | ^ << >> == != > < >= <=
op-type2第二個(gè)參數(shù)的類型。
operand2第二個(gè)參數(shù)的名稱。
conv-type-out類型轉(zhuǎn)換運(yùn)算符的目標(biāo)類型。
conv-type-in類型轉(zhuǎn)換運(yùn)算符的輸入類型。
備注
前兩種形式聲明了用戶定義的內(nèi)置C#運(yùn)算符重載。注意,并非所有內(nèi)置運(yùn)算符都可以被重載(請參見可重載的運(yùn)算符)。op-type 和 op-type2 中至少有一個(gè)必須是封閉類型(即運(yùn)算符所屬的類型)。例如,這將防止重定義整數(shù)加法運(yùn)算符。
后兩種形式聲明了轉(zhuǎn)換運(yùn)算符。conv-type-in 和 conv-type-out 中正好有一個(gè)必須是封閉類型(即,轉(zhuǎn)換運(yùn)算符只能從它的封閉類型轉(zhuǎn)換為其他某個(gè)類型,或從其他某個(gè)類型轉(zhuǎn)換為它的封閉類型)。
運(yùn)算符只能采用值參數(shù),不能采用 ref 或 out 參數(shù)。
任何運(yùn)算符聲明的前面都可以有一個(gè)可選的屬性(C# 編程指南)列表。
上述就是小編為大家分享的C#中如何實(shí)現(xiàn)運(yùn)算符重載了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。