簡單的模型類:
public class Model{
public string屬性。
public void someOperation(){}。
現在是一個簡單的主方法:
List<Model> list... //supose it has some model objects.
list.Where(x=> x.property=="valueNotInTheList").First().someOperation(); //將成為一個例外。
list.Where(x=> x.property=="valueNotInTheList").FirstOrDefault().someOperation(); //將是一個例外。
我的問題是,有沒有像null運算子那樣的方法? 或者只在串列中包含同一linq操作的元素時才進行操作的東西。 事實上,我只需要在一個linq操作中做這樣的事情:
if(list.Any(x=>x.property=="valueNotInTheList"/span>)){
list.Where(x=> x.property=="valueNotInTheList").First().someOperation()
}
謝謝!
uj5u.com熱心網友回復:
你可以嘗試FirstOrDefault,當條件不滿足任何一個專案時,回傳default(在你的例子中是null)值。然后,為了保持null(在這種情況下什么都不做),你可以使用?.運算子,而不僅僅是.:
list
.FirstOrDefault(x => x.property == "valueNotInTheList"/span>)
?.someOperation()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/310071.html
標籤:
上一篇:領域邏輯與Linq-to-Entites和運算式樹的關系
下一篇:通過一個異質容器進行迭代?
