怪問題怪解法-簡單才是王道

  • 361
  • 0

摘要:怪問題怪解法-簡單才是王道

前一篇提供的方法較為複雜且不易懂,操作也較為繁瑣,此處提供更易讀更好維護的版本。

 

static void Main(string[] args)
{
    var c = new Chain();
    Console.WriteLine(c.A.AA.AAA.B.BB.BBB);//我去醫院探病你去學校讀書
    Console.WriteLine(c.A.AA.AAA);         //我去醫院探病
    Console.WriteLine(c.B.BB.BBB);         //你去學校讀書
    Console.WriteLine(c.C.CC.CCC);         //他去商店購物
    Console.WriteLine(c.A.AAA);            //我探病
    Console.WriteLine(c.B.BBB);            //你讀書
    Console.WriteLine(c.C.CCC);            //他購物
    Console.ReadLine();
}
class Chain
{
    private StringBuilder _sb;
    public Chain()
    {
        _sb = new StringBuilder();
    }
    private Chain Add(string value)
    {
        _sb.Append(value);
        return this;
    }
    public Chain A { get { return Add("我"); } }
    public Chain B { get { return Add("你"); } }
    public Chain C { get { return Add("他"); } }
    public Chain AA { get { return Add("去醫院"); } }
    public Chain BB { get { return Add("去學校"); } }
    public Chain CC { get { return Add("去商店"); } }
    public Chain AAA { get { return Add("探病"); } }
    public Chain BBB { get { return Add("讀書"); } }
    public Chain CCC { get { return Add("購物"); } }
    public override string ToString()
    {
        var s = _sb.ToString();
        _sb = new StringBuilder();
        return s;
    }
}