目前..我的代碼看起來像這樣。替代在Lambda中使用三元運算符
PhoneNumber = x.PhoneNumbers.FirstOrDefault() != null ? x.PhoneNumbers.FirstOrDefault().PhoneNumber : string.Empty,
PHONENUMBERS是ICollection<PhoneNumber>
這也是在.Select()
,所以我真的不能創建一個變量爲它之外。
Resharper抱怨x.PhoneNumbers.FirstOrDefault()
可能爲空,而且說實話,我並不是想賣掉兩次FirstOrDefault。
任何其他想法,我想可能有另一種Lambda方法,我可以做類似的事情。
好了,有了該代碼最大的問題是,你遍歷序列的兩倍。如果它代表一個數據庫查詢(這似乎是這種情況),那非常糟糕。 – Servy
我同意,絕對不是最好的主意,因爲它是我操縱數據庫的結果 – jaekie
由於這是來自數據庫,所以最好簡單地使用存儲的過程並將結果映射到複雜類型。在爲報告/顯示目的而加入和彙總數據時,我已經完成了這項工作。 – jfrankcarr