這篇文章將為大家詳細(xì)講解有關(guān)c#中(&&,||)與(&,|)的區(qū)別有哪些,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司主營青白江網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,青白江h(huán)5微信小程序開發(fā)搭建,青白江網(wǎng)站營銷推廣歡迎青白江等地區(qū)企業(yè)咨詢
對于(&&,||),運(yùn)算的對象是邏輯值,也就是True/False
&&相當(dāng)與中文的并且,||相當(dāng)于中文的或者 。(叫做邏輯運(yùn)算符又叫短路運(yùn)算符)
運(yùn)算結(jié)果只有下列四種情況。
True && True = True (左邊為true,再驗(yàn)證右邊也為true,返回結(jié)果true)假如這是一個查詢條件,則執(zhí)行。
True && False = False (左邊為true,再驗(yàn)證右邊為false,返回結(jié)果false)假如這是一個查詢條件,不執(zhí)行。
False && True = False (左邊為false,發(fā)生短路現(xiàn)象。右邊不再執(zhí)行,直接返回false).........同樣不執(zhí)行。
False && False = False (同上)
True || True = True (左邊為true,發(fā)生短路現(xiàn)象,右邊不執(zhí)行,直接返回true).......執(zhí)行
True || False = True (左邊為true,發(fā)生短路現(xiàn)象,右邊不執(zhí)行,直接返回true).......執(zhí)行
False || True = True (左邊為false,再驗(yàn)證右邊為true,返回結(jié)果true)............執(zhí)行
False || False = False (左邊為false,再驗(yàn)證右邊也為false,返回結(jié)果false).......不執(zhí)行
對于(&,|),運(yùn)算的對象是位,也就是1/0,叫做位運(yùn)算符
理解:0為false,1為true(通用:0表示假,所有非零的數(shù)表示真。 ######方便記憶:0,什么都沒有騙人的,則為假)
運(yùn)算結(jié)果只有下列四種情況。
1 & 1 = 1 1 & 0 = 0 0 & 1 = 0 0 & 0 = 0 1 | 1 = 1 1 | 0 = 1 0 | 1 = 1 0 | 0 = 0
&&和&對于他們各自的運(yùn)算對象來說,結(jié)果是一樣的。
下面用一段代碼來說明||在實(shí)際代碼中的運(yùn)用
var data = svc.DeclarationHeads.Include("TaxType").Where(f => f.CorporationCode == param.CorporationCode && f.FlowSign == 2 && (!param.TaxTypeId.HasValue || f.TaxTypeId == param.TaxTypeId)).ToList();
當(dāng)傳入的參數(shù)中TaxTypeId==null時,param.TaxTypeId.HasValue為true,發(fā)生短路現(xiàn)象,右邊不執(zhí)行,返回結(jié)果true。
則實(shí)際執(zhí)行代碼:var data = svc.DeclarationHeads.Include("TaxType").Where(f => f.CorporationCode == param.CorporationCode && f.FlowSign == 2 ).ToList();
當(dāng)傳入的參數(shù)中TaxTypeId==123時,param.TaxTypeId.HasValue為false,執(zhí)行右邊的代碼,即f.TaxTypeId == 123,
則實(shí)際執(zhí)行代碼:var data = svc.DeclarationHeads.Include("TaxType").Where(f => f.CorporationCode == param.CorporationCode && f.FlowSign == 2 && f.TaxTypeId == 123 ).ToList();
適用范圍:當(dāng)我們再勾選條件進(jìn)行查詢或者操縱數(shù)據(jù)庫時,可以任意選擇條件個數(shù)進(jìn)行查詢,而只需調(diào)用同一個方法。(即一個服務(wù)完成多重條件的查詢)減少冗余代碼。
關(guān)于“c#中(&&,||)與(&,|)的區(qū)別有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)站題目:c#中(&&,||)與(&,|)的區(qū)別有哪些
網(wǎng)頁地址:http://muchs.cn/article4/ijdeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、域名注冊、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、面包屑導(dǎo)航、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)