最近做一題關於泛型返回值的題,結果發現:
1:很多人做錯誤了;
2:很多人疑問,泛型作為返回值有什麼意義;
題目如下:
「編寫乙個函式,要求輸入的引數和輸出的結果都是泛型。」
典型的錯誤回答之一:
public listfunction(u parameter)
典型的錯誤回答之二:
void getlist(ref t t1, out t t2) where t : list
關於錯誤回答1,是因為一想到泛型,很多人便想到集合,沒錯,泛型集合是泛型的乙個重要應用場景,但是,這跟泛型本身有什麼關係。
很多人自然就提出來第二個疑問,那讓泛型作為返回值,有什麼意義呢,我們先來且看下面的例子:
public t getactivatedserver(netidentity netidentity, string name)
呼叫的**為:
iclientcontract client = remoteobjectmanager.manager.getactivatedserver(target, "client");
另外,如果大家對linq熟悉的話,會發現linq中有不少方法也使用了泛型返回值,我們來舉乙個非常有用的集合方法find,以下是這個方法的標準實現(.net內部**):
public t find(predicatematch)for (int i = 0; i < this._size; i++)
}return
default(t);
}
其標準的呼叫**如:
marshalbyrefobject marshal = objreflist.find(target =>);
最後,附上本題的標準答案:
tresoult gett(t1 t)
Efficient C 為什麼要把泛型作為返回值
最近做一題關於泛型返回值的題,結果發現 1 很多人做錯誤了 2 很多人疑問,泛型作為返回值有什麼意義 題目如下 編寫乙個函式,要求輸入的引數和輸出的結果都是泛型。典型的錯誤回答之一 public listfunction u parameter 典型的錯誤回答之二 void getlist ref ...
為什麼要人造元素 設計中為什麼要把各種元素對齊放置
常用word辦公的朋友應該都不會陌生。左對齊 居中對齊 右對齊 居中對齊 都是相當常見的對齊方式,這有啥可聊的。咱們先不說文字排版上的對齊方式,先看看生活中它們常常出現在 超市擺放商品的貨架 呈放射狀擺放的鉛筆 擺放整齊的共享單車 排列整齊的活鉛字 格式整齊的段落比格式雜亂的更好看 對齊擺放的物品比...
為什麼要把頁面放在 WEB INF 路徑下?
1.基於不同的功能jsp 被放置在不同的目錄下 這種方法的問題是這些頁面檔案容易被偷看到源 或被直接呼叫。某些場合下這可能不是個大問題,可是在特定情形中卻可能構成安全隱患。使用者可以繞過struts的controller直接呼叫jsp同樣也是個問題。為了減少風險,可以把這些頁面檔案移到web inf...