新聞中心
C#運(yùn)算符重載“>”的操作問(wèn)題的出現(xiàn):今天一個(gè)同學(xué)在做ProjectHoshimi的時(shí)候,自己在封裝一個(gè)對(duì)象庫(kù)。

創(chuàng)新互聯(lián)建站是專(zhuān)業(yè)的武昌網(wǎng)站建設(shè)公司,武昌接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行武昌網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
希望使用C#運(yùn)算符重載>的操作,語(yǔ)法正確,但是總是不能成功。
按照MSDN C# Keyword opeartor定義可以有下面的語(yǔ)法構(gòu)成
- public static result-type operator unary-operator ( op-type operand )
- public static result-type operator binary-operator (
- op-type operand,
- op-type2 operand2
- )
- public static implicit operator conv-type-out ( conv-type-in operand
- )
- public static explicit operator conv-type-out (
- conv-type-in operand
- )
那么下面代碼就是正確的
- class A {
- private int a;
- public static bool operator>(A a,A b){
- return a.a > b.a;
- }
- public A(int value) {
- a = value;
- }
- }
C#運(yùn)算符重載“>”的操作問(wèn)題再次提出:為什么不能成功編譯呢?因?yàn)?運(yùn)算符在.NET Framework中不允許但對(duì)出現(xiàn),如下代碼就是正確的。
- class A {
- private int a;
- public static bool operator>(A a,A b){
- return a.a > b.a;
- }
- public static bool operator <(A a, A b) {
- return a.a < b.a;
- }
- public A(int value) {
- a = value;
- }
為什么需要這樣做呢?
其實(shí)我覺(jué)得這個(gè)就是C#在設(shè)計(jì)上面默認(rèn)了一些讓系統(tǒng)編碼更安全的一些約束。如果沒(méi)有這樣的約束,那么可能是>重載了,但是<沒(méi)有重載,但是如果有人使用將會(huì)發(fā)現(xiàn)很未知的錯(cuò)誤。
C#運(yùn)算符重載“>”的操作的基本情況就向你介紹到這里,希望對(duì)你了解C#運(yùn)算符重載“>”的操作有所幫助。
網(wǎng)站欄目:C#運(yùn)算符重載“>”的操作淺析
網(wǎng)頁(yè)URL:http://www.5511xx.com/article/coiddph.html


咨詢(xún)
建站咨詢(xún)
