c#中(,,,| |)与(和|)的区别有哪些

  介绍

这篇文章将为大家详细讲解有关c#中(,,,| |)与(和|)的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强>对于(,,,| |),运算的对象是逻辑值,也就是真/假

,及相当与中文的并且,| |相当于中文的或者。(叫做逻辑运算符又叫短路运算符)

运算结果只有下列四种情况。

True ,,True =True ,,(左边为真,再验证右边也为真,返回结果真的)假如这是一个查询条件,则执行。
True ,,假=False ,(左边为真,再验证右边为false,返回结果假)假如这是一个查询条件,不执行。
错误,,True =False ,(左边为假,发生短路现象。右边不再执行,直接返回假).........同样不执行。
错误,,假=False ,(同上)
True | | True =True ,,(左边为真的,发生短路现象,右边不执行,直接返回真的).......执行
True | |假=True ,,(左边为真的,发生短路现象,右边不执行,直接返回真的).......执行
假| | True =True ,,(左边为假,再验证右边为真的,返回结果真的)............执行
假| |假=False ,(左边为假,再验证右边也为假,返回结果假).......不执行

<强>对于(,,|),运算的对象是位,也就是1/0,叫做位运算符

理解:0为假,1为true(通用:0表示假,所有非零的数表示真只,# # # # # #方便记忆:0,什么都没有骗人的,则为假)
运算结果只有下列四种情况。

1,,,,1=1   1,,,0=,0   0,,,1,=0   0 0,,,,=0      1,|,1=,1   1,|,0=,1   0,|,1=,1   0,|,0,=,

0,,和,对于他们各自的运算对象来说,结果是一样的。

下面用一段代码来说明| |在实际代码中的运用

var  data =, svc.DeclarationHeads.Include (“TaxType")。(f =祝辞,f.CorporationCode ==, param.CorporationCode ,,, f.FlowSign ==, 2,,,   ,,,,,,,,,,,,,,,,,,,,,,,,,(! param.TaxTypeId.HasValue  | |, f.TaxTypeId ==, param.TaxTypeId)) .ToList ();

,当传入的参数中TaxTypeId==null时,param.TaxTypeId。HasValue为真的,发生短路现象,右边不执行,返回结果真的。

则实际执行代码:var data=https://www.yisu.com/zixun/svc.DeclarationHeads.Include (“TaxType”)其中f (f=>。CorporationCode==参数。CorporationCode & & f。FlowSign==2) .ToList ();

当传入的参数中TaxTypeId==123时,param.TaxTypeId.HasValue为false,执行右边的代码,即f。123年TaxTypeId==,

则实际执行代码:var data=https://www.yisu.com/zixun/svc.DeclarationHeads.Include (“TaxType”)。f (f=>。CorporationCode==参数。CorporationCode & & f。FlowSign==2 & & f。TaxTypeId==123) .ToList ();

适用范围:当我们再勾选条件进行查询或者操纵数据库时,可以任意选择条件个数进行查询,而只需调用同一个方法。(即一个服务完成多重条件的查询)减少冗余代码。

关于“c #中(,,,| |)与(和|)的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

c#中(,,,| |)与(和|)的区别有哪些