C#的Replace函式,使用函式作為的引數需要注意
#的Replace函式,有關它的引數需要注意:
如果它的引數是一個表示式,系統會先計算表示式做預處理,再執行替換操作。
比如(GetNameByID為一個函式):
String strSource="這是一個示例";
strSource=strSource.Replace("姓名",GetNameByID(1));
很顯然,strSource是不包含“姓名”的,所以也不會執行任何替換。但是,每執行一次這行替換程式碼,GetNameByID都會被呼叫一次。如果GetNameByID是更復雜的邏輯,或者是替換操作在一個迴圈中,將會極大地影響系統效率。
建議修改為:
if(strSource.IndexOf("姓名")>-1)
{
strSource=strSource.Replace("姓名",GetNameByID(1));
}
如果它的引數是一個表示式,系統會先計算表示式做預處理,再執行替換操作。
比如(GetNameByID為一個函式):
String strSource="這是一個示例";
strSource=strSource.Replace("姓名",GetNameByID(1));
很顯然,strSource是不包含“姓名”的,所以也不會執行任何替換。但是,每執行一次這行替換程式碼,GetNameByID都會被呼叫一次。如果GetNameByID是更復雜的邏輯,或者是替換操作在一個迴圈中,將會極大地影響系統效率。
建議修改為:
if(strSource.IndexOf("姓名")>-1)
{
strSource=strSource.Replace("姓名",GetNameByID(1));
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-625201/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物件,函式作為一個函式的引數物件函式
- JavaScript replace()第二個引數為函式時的引數JavaScript函式
- js函式作為函式的引數程式碼例項JS函式
- 函式作為引數傳遞函式
- 函式定義、函式的引數、函式的預設引數函式
- 關於C++引用做為函式引數和指標作為函式引數C++函式指標
- 正規表示式replace()函式第二個引數$&的作用函式
- 將使用回撥函式作為引數的函式改造為返回 Promise 的一個具體例子函式Promise
- replace函式函式
- sql CHARINDEX,REPLACE函式使用SQLIndex函式
- Python中將函式作為另一個函式的引數傳入並呼叫Python函式
- GO語言————6.7 將函式作為引數Go函式
- 陣列作為函式引數陣列函式
- Python之在函式中使用列表作為預設引數Python函式
- 函式引數 引數定義函式型別函式型別
- SQL中的替換函式replace()使用SQL函式
- Oracle:SYS_REFCURSOR作為函式中的輸出引數Oracle函式
- Golang 切片作為函式引數傳遞的陷阱與解答Golang函式
- 函式的動態引數 及函式巢狀函式巢狀
- Excel函式應用教程:函式的引數(轉)Excel函式
- Go語言Slice作為函式引數詳解Go函式
- Javascript函式引數求值——Thunk函式JavaScript函式
- 函式基礎和函式引數函式
- GO 的匿名函式使用注意Go函式
- js Date()建構函式引數需要注意一個問題JS函式
- mysql中replace函式的用法MySql函式
- JavaScript進階系列01,函式的宣告,函式引數,函式閉包JavaScript函式
- C#中Main函式後引數的處理C#AI函式
- 3.3.2 函式的預設引數和佔位引數 函式過載函式
- 函式的引數傳遞函式
- 函式引數的 Default value函式
- 程式中的函式引數函式
- SQL引數資料型別text對於replace函式的引數1無效SQL資料型別函式
- 【函式引數】Oracle 11g中使用“=>”顯式指明函式引數名與引數值的對應關係函式Oracle
- 07:函式之函式的引數和返回值函式
- str_replace()函式函式
- PHP函式,引數,可變參函式.PHP函式
- javascript函式引數和函式內同名變數的關係JavaScript函式變數