c#中(&&,||)與(&,|)的區(qū)別有哪些

這篇文章將為大家詳細(xì)講解有關(guān)c#中(&&,||)與(&,|)的區(qū)別有哪些,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(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)假如這是一個(gè)查詢條件,則執(zhí)行。
True  && False = False   (左邊為true,再驗(yàn)證右邊為false,返回結(jié)果false)假如這是一個(gè)查詢條件,不執(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時(shí),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時(shí),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í),可以任意選擇條件個(gè)數(shù)進(jìn)行查詢,而只需調(diào)用同一個(gè)方法。(即一個(gè)服務(wù)完成多重條件的查詢)減少冗余代碼。

關(guān)于“c#中(&&,||)與(&,|)的區(qū)別有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

網(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è)計(jì)公司、面包屑導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司