通過委託實現方法陣列來代替switch分支語句

2022-03-31 10:12:53 字數 628 閱讀 8410

在實際應用中經常會有對乙個傳入的型別進行檢測後, 再通過 switch 進行分類處理, 如下:

private void response(cmdtype cmd)

switch(cmd):

case cmdtype.hello:

sayhello();

break;

case cmdtype.gettime:

sendtime();

break;

case cmdtype.bye:

saybye();

break;

case cmdtype.none:

notresponse();

break;

可以通過委託簡化這些分支. 如下:

delegate void responsedelegate();  // 宣告委託

responsedelegate response = new responsedelegate // 方法陣列

hello = 0,

gettime,

bye,

none

則 switch 語句可以用如下代替:

response((int)cmd);

如此則不是更加清晰醒目呢.

js Array方法 陣列

let arr 1,2,3,4,5,6 首先建立乙個陣列用作測試 join 陣列間用引數作為間隔轉換str,返回字串 console.log arr.join push 新增引數到陣列最後 返回arr長度 console.log push console.log arr.push 7 arr pop...

通過委託實現靈活排序

我們在實際的程式設計中我們,常用的一些排序方法並不能滿足我們的需求。比如,有時候我們需要給兔子的身高去排隊,有時候我們需要去給青蛙的身高去排隊,但是對於蛇,我們只能去比較蛇的身長。對每一種動物去比較的時候,都去寫乙個比較方法有很多冗餘。如果我們利用委託去實現一些方法器的實現,是不是比較好一點呢?us...

陣列內建方法陣列操作方法

用於連線兩個或多個陣列。語法 arra.concat arrayx,arrayx,arrayx 我們建立了幾組陣列,然後使用 concat 把它們連線起來 var arr 10,20 var arr1 40,50 var arr2 你好 var arro arr.concat arr1 consol...