unity游戲開發(fā)-C#語(yǔ)言基礎(chǔ)篇(重載運(yùn)算符)

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

    }
最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容