關於如何處理C#代碼中有非常多的If條件


 

在代碼中經常看到這樣的語句塊

if(條件1)

{

  代碼1

}

if(條件2)

{

  代碼2

}

if(條件3)

{

  代碼3

}

………………………………

這樣做是沒錯的,但是,總好像有的問題,C#的從C和C++繼承過來的,If是C語言的代碼,C#應該不一樣,起碼面向對象

可以這樣改一下

首先我有3個類

 

    public class FlagReadTem1 : FlagRead
    {
        public override void PrintFlag()
        {
            Console.WriteLine("flag is " + 1);
        }
    }

    public class FlagReadTem2 : FlagRead
    {
        public override void PrintFlag()
        {
            Console.WriteLine("flag is " + 2);
        }

    }

    public class FlagReadTem3 : FlagRead
    {
        public override void PrintFlag()
        {
            Console.WriteLine("flag is " + 3);
        }
    }

    public class FlagRead
    {
        public virtual void PrintFlag()
        {
            throw new NotImplementedException();
        }
    }


這樣子的話,我就可以這樣寫了

            int i = 0;
            int[] iArr = new int[3] { 1, 2, 3 };
            i = iArr.OrderBy(o => Guid.NewGuid()).First();
            Read r = (Read)ClassHelper.CreateInstance(Type.GetType("ConsoleApplication7.FlagRead.FlagReadTem" + i));
            r.PrintFlag();


出去取得隨機的3行代碼,

 之前幾十行的if代碼只剩下2行列,而且擴展起來非常方便

拋磚引玉,求高人們指點

因為本人語文都是考試個位數的,語言組織的不好請諒解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM