第十五課程式碼複用——C#計算器程式設計教學
阿新 • • 發佈:2019-02-18
新手和老手的區別之一,就是看程式碼的簡潔程度。簡潔的辦法之一就是程式碼複用。
看著我前面圍繞等於寫了至少5個方法,其實這其中有方法也由另外的方法呼叫,這就達到了複用的目的。舉個例子,上節課講到的取反,它的程式碼就用到了SetCaclLists方法。我不能在caclString上直接取反,那樣做程式碼不是一般的長,也可能不可行。那麼怎樣實現呢?答案是:收到取反命令,先把已經接收到的輸入串也就是caclString送入集合,然後根據i的值設定所在項的相反數,再通過還原算式顯示取反的結果。
private void Contrary() { if (noStringAdded) { return; } try { CaclLists.Clear(); haveDecimal = false; isOPAdded = false; i = 0; SwichString(); if (CaclLists.Count == i) { CaclLists[i - 1].StringEnter = (-decimal.Parse(CaclLists[i - 1].StringEnter)).ToString(); } else CaclLists[i].StringEnter = (-decimal.Parse(CaclLists[i].StringEnter)).ToString(); CaclString = string.Concat(CaclLists); } catch (Exception ex) { Result = ex.Message; } }
所以,這也需要那個ToString覆寫方法的配合。在原有的基礎上加個判斷,那個StringEnter是不是負數,如果是,左右新增括號。
第十五課結語。分的效果並非只是為分解問題和清晰思路,它還會有其他的效應,程式碼複用是其中之一。