上述**,根據傳進來的語言列舉值和名字串來輸出相應語言的問候語,不過,這個方法的可擴充套件性太差了,如果以後我們需要再新增韓文版,日文版,就不得不反覆修改列舉和dowork()方法,以適應新的需求。
使用委託可以解決優化此類問題。
using system;優化化,我們要加一種問候語,只要新增乙個方法就可以了using system.collections.generic;
using system.linq;
using system.text;
namespace _14
public
void sayenglish(string name)
//注意此方法,它接受乙個saydelegate型別的方法作為引數
public
void dowork(string name, saydelegate makesay)
}class program}}
使用委託來減少if else判斷
using system using system.collections.generic using system.linq using system.text namespace 13 public void sayenglish string name public enum language...
使用減少ifelse使用
僅當做學習記錄 遇到如下需求 if condition else 可以這麼做 if condition do something 遇到如下需求 if user null else 可以這麼做 public class maintest public static user createuser 遇到...
使用列舉enum來代替if else
在平時的 中,if else肯定是必不可少,但是有時使用if else卻不是 的最好選擇,下面介紹下平時會在實際工作 中使用到的用enum來代替if else的寫法.現在有個需求,我們公司有vip等級,1,2,3,根據等級高低,能獲取不同的優惠資訊,最簡單也最容易想到的 是 獲取折扣資訊 publi...