class Program
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public int value { set; get; }
//該對(duì)象是否可用:
public bool IsAvailable { set; get; }
public bool Idengyu { set; get; }
public bool Isdayudengyu { set; get; }
static void Main(string[] args)
{
Program OperA = new Program();
OperA.value = 88;
OperA.Name = "火星人";
Program operB = new Program();
operB.value = 33;
operB.Name = "地球人";
Program operC = OperA + operB;
//Console.WriteLine(operC.value);
operC.IsAvailable = OperA.value > operB.value;//重載下面的大于號(hào) 重載下面的對(duì)象符號(hào) 大于和小于都要成對(duì)出現(xiàn);
operC.Idengyu = OperA.Name == operB.Name;
//Console.WriteLine("{0} {1} {2}", operC.Name, operC.value, operC.IsAvailable);//隱式自動(dòng)調(diào)用,不用寫方法名
Console.WriteLine(operC.Idengyu);
operC.Isdayudengyu = OperA.value >= operB.value;
Console.WriteLine(operC.Isdayudengyu);
Console.ReadKey();
}
//重載運(yùn)算符+ 要求:1,方法修飾符為public;2,必須是靜態(tài)的;
public static Program operator +(Program Oper1, Program Oper2)
{
Program newOper = new Program();
newOper.value = Oper1.value - Oper2.value;//+ - 成對(duì)出現(xiàn);
newOper.Name = Oper1.Name + Oper2.Name;
return newOper;
}
//重載運(yùn)算符的大于和小于
public static Program operator >(Program Oper1, Program Oper2)
{
Program newOper = new Program();
newOper.IsAvailable = Oper1.value > Oper2.value;
return newOper;
}
public static Program operator <(Program Oper1, Program Oper2)
{
Program newOper = new Program();
newOper.IsAvailable = Oper1.value > Oper2.value;
return newOper;
}
//重載等于 和不等于
public static Program operator ==(Program Oper1, Program Oper2)
{
Program newOper = new Program();
newOper.Idengyu = Oper1.Name == Oper2.Name;
return newOper;
}
public static Program operator !=(Program Oper1, Program Oper2)
{
Program newOper = new Program();
newOper.Idengyu = Oper1.Name != Oper2.Name;
return newOper;
}
//重載大于等雨 和小于等于
public static Program operator >=(Program oper1, Program oper2)
{
Program newOper = new Program();
//定義一個(gè)布爾的屬性
newOper.Isdayudengyu = oper1.value >= oper2.value;
return newOper;
}
public static Program operator <=(Program oper1, Program oper2)
{
Program newOper = new Program();
//定義一個(gè)布爾的屬性
newOper.Isdayudengyu = oper1.value <= oper2.value;//上面是重載符號(hào) 這里是實(shí)際返回的布爾值 比較運(yùn)算符和加減乘除 和 ~ 、 !、++、 — 可以重載,其他不可以
return newOper;
}
public static void GetNum(int a, int b = 3, int c = 5)
{ //有賦值可穿或可不傳
Console.WriteLine(a * b * c);
}
}
unity游戲開發(fā)-C#語(yǔ)言基礎(chǔ)篇(重載運(yùn)算符)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 將寫內(nèi)容過(guò)程比較常用的內(nèi)容片段備份一下,下面資料是關(guān)于C#演示用戶定義的類如何能夠重載運(yùn)算符的內(nèi)容。 using ...
- 運(yùn)算符是告訴編譯器執(zhí)行特定數(shù)學(xué)或邏輯函數(shù)的符號(hào)。C語(yǔ)言內(nèi)置運(yùn)算符豐富,并提供以下類型的運(yùn)算符 - 算術(shù)運(yùn)算符 關(guān)系...