使用委託來減少if else判斷

2021-09-08 21:41:28 字數 824 閱讀 5292

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace _13

public

void sayenglish(string name)

public

enum language

public

void dowork(string name, language lang)}}

class program

}}

上述**,根據傳進來的語言列舉值和名字串來輸出相應語言的問候語,不過,這個方法的可擴充套件性太差了,如果以後我們需要再新增韓文版,日文版,就不得不反覆修改列舉和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判斷

上述 根據傳進來的語言列舉值和名字串來輸出相應語言的問候語,不過,這個方法的可擴充套件性太差了,如果以後我們需要再新增韓文版,日文版,就不得不反覆修改列舉和dowork 方法,以適應新的需求。使用委託可以解決優化此類問題。using system using system.collections.g...

使用減少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...