有這麼乙個功能,是根據不同的人來說不同的「早上好」。如果是按照以前的方法,我會這麼做。
如:
#region 老辦法public
static
void sayhi(string
name, peopletype type)
", name);
}else
if (type ==peopletype.american)
", name);}}
#endregion
#region 引數
public
enum
peopletype
#endregion
思考:1、如果以後需要進行修改,還需要重新修改整個sayhi方法,有可能還會對其他地方有影響。
2、如果需要再新增乙個英國版的早上好,更得需要新增很多**,且容易對其他地方有影響。
*******************************經過改良的方法***********************
1、先宣告乙個帶引數的委託
publicdelegate
void sayhihandler(string name);
然後再新建乙個類,其中有如下幾個方法:
publicclass
greeting
public
static
void sayhichinese(string
name)
", name);
}public
static
void sayhiamerican(string
name)
", name);
}
#endregion
#region 引數
public
enum
peopletype
#endregion
}
經過委託,可按如下呼叫
sayhihandler sayhis = newsayhihandler(greeting.sayhichinese);
sayhis("張旭
");sayhihandler sayamrican = new
sayhihandler(greeting.sayhiamerican);
sayamrican(
"mr.zxu
");
************************************優點*********************************
如果再解決以上的那個問題,只需要再新增乙個如sayhiamerican的方法即可。
對Linux inode的一些理解
檔名 inode device block 一 inode是什麼?理解inode,要從檔案儲存說起。檔案儲存在硬碟上,硬碟的最小儲存單位叫做 扇區 sector 每個扇區儲存512位元組 相當於0.5kb 作業系統讀取硬碟的時候,不會乙個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次...
對棧的一些理解
之前總結過一篇有關函式棧幀的部落格 函式棧幀以及呼叫約定相關的一些總結 但是感覺自己還是有一點知識點沒有弄懂,今天中午跟郭哥吃過飯一起 有關殼的問題的時候,順便把這個問題請教了一下郭哥,終於弄明白了,在此要特地感謝他,這裡把一些心得體會寫出來 先看一幅圖 選自ida權威指南 注意圖中是基於esp的棧...
對EK的一些理解
首先是網路流問題的提出 乙個源點,乙個匯點,不斷又源點向匯點輸送,其中路徑上有最大速度,求匯點收貨的最大速度是多少。在求之前可以先模擬一下過程如果源點現在只能出乙個單位的貨,那麼他會找乙個未達到最大速度的路進行運輸,接著我們不斷將運輸的量放大,即不斷地從起點開始尋找增廣路,每次都對其進行增廣,直到源...