亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

何時使用 Action Delegate 而不是 Predicate Delegate

何時使用 Action Delegate 而不是 Predicate Delegate

C#
藍山帝景 2022-10-15 15:20:37
你什么時候會使用謂詞委托而不是動作委托?例如,為什么List<string>.RemoveAll()需要 aPredicate<string>而不是 a Action<string>?我認為這是因為Action<string>只能返回一個void. 那么它們之間的唯一區別是委托的返回類型嗎?抱歉,如果這太含糊了,我正試圖圍繞細微差別和條款。
查看完整描述

2 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

它們是完全不同的——Action代表一個 void 函數;Predicate是舊版本的Func<T, bool>- 一個接受對象并返回布爾值的通用函數。使用取決于需要,但絕不應該在這兩種類型之間進行選擇。



查看完整回答
反對 回復 2022-10-15
?
森林海

TA貢獻2011條經驗 獲得超2個贊

顧名思義,謂詞委托構成一個謂詞,它將匹配條件/謂詞并返回bool。正如簽名所說的動作委托不返回任何東西(一種工作方式)。

List<string>.RemoveAll()需要謂詞原因,如果您想T從列表中刪除與特定條件匹配的所有元素怎么辦?


查看完整回答
反對 回復 2022-10-15
  • 2 回答
  • 0 關注
  • 97 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號