c# – LINQ Where()单管或双管&符号

c# – LINQ Where()单管或双管&符号,第1张

概述任何人都在评论我们是否应该使用“我”或“II”和“&”或“&&”在我们的LINQ Where()扩展/查询?与LINQ to SQL有什么区别?由此产生的表达树比星期五下午我的大脑还要多 谢谢, static void Main(string[] args){ var numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var 任何人都在评论我们是否应该使用“我”或“II”和“&”或“&&”在我们的liNQ Where()扩展/查询?与liNQ to sql有什么区别?由此产生的表达树比星期五下午我的大脑还要多

谢谢,

static voID Main(string[] args){    var numbers = new int[] { 1,2,3,4,5,6,7,8,9 };    var q1 = numbers.Where(i => i == 1 | i == 2);    var q2 = numbers.Where(i => i == 1 || i == 2);    var q3 = numbers.Where(i => i == 1 & i < 3);    var q4 = numbers.Where(i => i == 1 && i < 3);    Write(q1);    Write(q2);    Write(q3);    Write(q4);}static voID Write<T>(IEnumerable<T> t){    foreach (var i in t)        Console.Write("{0} ",i);    Console.Writeline();}Results:    1 2    1 2    1    1
@H_404_7@解决方法 你想要|| /&&.

那么,单管(| /&)通常用于逐位算术,并且(除了其他问题之外)可能使代码库更难理解;它可以在liNQ-to-Objects中工作(因为按位仍然为bool定义),但没有通常的短路.但是如果你的数据源是一个数据库(即混合中有一个表达式解析器),你可能会发现它会爆炸.

好;按位可能会产生误导;但是||和&&仍然是表达意图的最合乎逻辑和预期的方式.我为任何困惑道歉.

总结

以上是内存溢出为你收集整理的c# – LINQ Where()单管或双管/&符号全部内容,希望文章能够帮你解决c# – LINQ Where()单管或双管/&符号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存