1
任何人都可以解釋這段代碼嗎?FirstOrDefault()== null?假:真;
bool status = datacontext.tblTransactionDetails.Where(x => x.AdvertID == app.AdvertID && x.IsActive == true).FirstOrDefault() == null ? false : true;
任何人都可以解釋這段代碼嗎?FirstOrDefault()== null?假:真;
bool status = datacontext.tblTransactionDetails.Where(x => x.AdvertID == app.AdvertID && x.IsActive == true).FirstOrDefault() == null ? false : true;
這意味着從那裏AdvertID == app.AdvertID & & IsActive ==真集合採取的第一項。如果爲空則返回false,否則返回true。
The? :語法被稱爲三元運算符,用作if/else的簡寫。
相反,你可以使用
.Any(x => x.AdvertID == app.AdvertID && x.IsActive == true)
如果有符合條件返回true,否則爲false。
的代碼全部產品線將是:
bool status = datacontext.tblTransactionDetails.Any(x => x.AdvertID == app.AdvertID && x.IsActive == true);
x.IsActive ==真可以縮短爲x.IsActive – Vincent 2014-12-02 11:30:16
我覺得更好的是做.Count中? – brykneval 2014-12-02 12:27:42
@brykneval你如何過濾條件之前呢?但是,是的,通常情況下,計數字段/屬性會更快,但我們在這裏討論的是微觀優化的荒謬級別。基於過濾要求,使用.Any()在語義上要好得多,重要的是它非常易讀和簡潔。 – 2014-12-02 12:53:02