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

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

在C#中使用條件表達式和方法

在C#中使用條件表達式和方法

C#
江戶川亂折騰 2021-05-05 10:09:18
我有一個List<Animal>那里Animal有一個:int GetId();返回動物的ID。給定一個ID,獲得特定動物的最佳方法是什么?我想知道是否有正確的方法來執行以下操作:targetId = 2; targetAnimal = animalList.Select(a => a.GetId() == targetId)
查看完整描述

3 回答

?
慕姐4208626

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

您可以嘗試這些方法

.Single或.SingleOrDefault

targetAnimal = animalList.SingleOrDefault(a => a.GetId() == targetId)

.First或.FirstOrDefault

targetAnimal = animalList.FirstOrDefault(a => a.GetId() == targetId)

您可能想了解更多有關這些功能的信息

Single() -僅有1個結果,如果不返回任何結果或多個結果,則引發異常。

SingleOrDefault() –與Single()相同,但是它可以處理空值。

First() -至少有一個結果,如果沒有返回結果,則拋出異常。

FirstOrDefault() -與First()相同,但是不拋出任何異常,或者在沒有結果時返回null。


查看完整回答
反對 回復 2021-05-21
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

您可以使用FirstFirstOrDefault方法。

如果沒有元素的ID,前者將拋出異常; 后者將返回default(T)(這將null用于引用類型(類),而所有字段都將初始化為默認值用于值類型(結構))。

return animalList.First(a => a.GetId() == targetID);

return animalList.FirstOrDefault(a => a.GetId() == targetID);

如果要返回默認值/后備值而不是default(T),則可以使用null-coalescing運算符:

return animalList.FirstOrDefault(a => a.GetId() == targetID) ?? theFallbackValue;


查看完整回答
反對 回復 2021-05-21
  • 3 回答
  • 0 關注
  • 235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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