【LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun】教程文章相关的互联网学习教程文章

C# Lambda表达式Contains方法 like

1、使用Contains方法的必备条件:Contains等价于SQL中的like语句。不过Contains只针对于字符串(string)类型的数据而言。如果是int等数值类型,则不会有Contains方法的存在,因此数值字段貌似无法通过使用Lambda表达式来完成like操作。因此在使用实体框架的同时,设计数据的时候如果想使用like请确保数据库字段为字符串类型(text、varchar等)。否则在想模糊查询的时候让你痛苦不堪。2、Contains方法关联方法(均等价于SQL中的lik...

LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun

·First - 返回集合中的第一个元素;不延迟 ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟 ·Last - 返回集合中的最后一个元素;不延迟 ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值) ·ElementAt - 返回集合中指定索引的元素;不延迟 ·ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟 ·Contains - 判断集合中是否...

LINQ to SQL语句(7)之Exists/In/Any/All/Contains

Exists/In/Any/All/Contains操作符 适用场景:用于判断集合中元素 ,进一步缩小范围。 Any 说明:用于判断集合中是否有元素满足 某一条件;不延迟。(若条件为空,则集合只要不为空就返回True,否则为 False)。有2种形式,分别为简单形式和带条件形式。 1.简单形式: 仅返回没有订单的客户: var q =  from c in db.Customers  where !c.Orders.Any()  select c; 生成SQL语句为: SELECT [t0].[CustomerID], [t0].[CompanyN...

在C#中,如何正确地重载我的类中的Equals运算符,以便Queue.Contains()工作?【代码】

我创建了一个类State.对于State对象的队列,我想测试Queue是否已经包含一个值相等的State对象.当数组的所有值相等且顺序相同时,两个State对象(每个对象包含一个2D布尔数组)相等. 这是我的相关代码:public class State {Boolean[,] grid = new Boolean[4,4];Public State(Boolean[,] passedGrid){ //Constructorgrid = Array.Copy(passedGrid, grid, 16);}public bool Equals(State s2){ //Overloaded equals operatorfor (int x = ...

也记一次性能优化:LINQ to SQL中Contains方法的优化【代码】

世界那么大,我也想去看看。四月份的时候,我入职了上海的一家电商公司,职位是.NET高级开发工程师。工作一个月,最大的感受是比以前小城市匆忙了许多,工作压力大了许多,开发方式更加的正规,不过各种流程也更加的繁杂细琐。在写代码的时候,一定要严谨细心,该验证参数合法性的时候验参,该抛异常的时候抛异常,该写日志的时候写日志,因为一个不小心而报黄页或者主流程无法顺利进行下去,是很没面子的事情。另外,我也更加关注...

LINQ体验(7)——LINQ to SQL语句之Group By/Having和Exists/In/Any/All/Contains【代码】【图】

我们继续讲解LINQ to SQL语句,这篇我们来讨论Group By/Having操作符和Exists/In/Any/All/Contains操作符。 Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围。 说明:分配并返回对传入参数进行分组操作后的可枚举对象。分组;延迟 1.简单形式: var q =from p in db.Productsgroup p by p.CategoryID into gselect g; 语句描述:使用Group By按CategoryID划分产品。 说明:from p in db.Products 表示从表中将产...

C#中Linq的Join比Where(m=>arr..Contains(m.id))的效率更高【代码】

开发工程中,经常遇到在集合中,根据另一个集合取出一些数据。 我之前常用的做法如下:List<MyInfo> list = GetList(); // 约2W数据int[] idArr = GetIDs();// 约几百之前也一直没有去考虑效率问题。使用如下:list.Where(m => idArr.Contains(m.id)).ToList();通过条件,判断集合对象的id在数组中,逻辑没有问题,很正常的思维。(我的测试耗时约50ms) 但是,如果采用Join就会的到成倍的速度提升,代码如下:list.Join(idArr, m ...

C#的List的Contains方法 list的Contains方法是根据其元素类型定义的Equals方法来判断是否重复的

https://zhidao.baidu.com/question/681553612286124812.html 如果有类A和类B都继承了类C,类A已经存入到集合中了,那么此时用该方法判断类B,是会返回true还是false? 你的类和List如何定义的? 我测试是返回false,定义如下: public class C { } public class A:C { } public class B:C { } private void button1_Click(object sender,EventArgs e) { A a=new A(); B b=new B(); C c=new C(); List lst=new List(); lst.Add(a); ...

使用containsValue()时,C#词典运行缓慢【代码】

我有一个HashSet,其中包含通过读取二进制文件生成的自定义对象.我还具有通过读取DBF文件的每一行而生成的字典.两者之间都有一个index属性.例如,我的词典中的第10个项目将与我的HashSet中的第10个项目对齐. 我正在相互比较大量数据.可以有10,000条记录到500,000条记录.该应用程序检查其他两个文件(一个二进制文件,另一个是dbf文件)是否存在差异.它检查对象的哈希码(由某些属性生成,它可以快速,轻松地进行此比较) 这是我构建每本字典...

c#是否有任何理由在内部将String.contains与true进行比较?【代码】

这个问题已经在这里有了答案: > Check if boolean is true? [closed] 7个我遇到了以下代码:if(message.Contains("some text") == true)是什么让我怀疑作者的意图. Contains()始终返回bool,因此较干净的版本应为:if(message.Contains("some text"))我是对的还是以前的解决方案有优点的任何方案?解决方法:is there any scenario where it makes sense to use if(condi...

c#-切换语句Message.Contains【代码】

是否可以使switch语句检查Message.Contains语句? 所以代替这个:if (ex.Message.Contains("hnummer")) {MessageBox.Show("Deze laptop staat al in de lijst"); } if (ex.Message.Contains("serienummmer")) {MessageBox.Show("Dit serienummer staat al in de lijst"); } if (ex.Message.Contains("olcnummer")) {MessageBox.Show("Dit OLC nummer staat al in de lijst"); }切换语句?解决方法:另一种方法是使用字典//of course...

c#-如何在表达式树中写入string.Contains(someText)【代码】

我正在学习学习表达式树的时间是the tutorial. 我要显示超过35列,但用户可以选择一次显示10列.因此,一个用户在搜索框中键入内容,我只想搜索用户可见的列.SELECT FirstName, LastName, Address, ..., State FROM Students WHERE Id == @Id col1 AND (FirstName LIKE '%@searchText%' OR LastName LIKE '%@searchText%' OR Address LIKE '%@searchText%' OR ...State LIKE '%@searchText%')回到Linq,这就是我想要实现的方式:var res...

VB中的C#相当于{} .Contains()【代码】

我正在研究VB => C#翻译器,我遇到了一些我不确定直接转换为C#的VB代码. 在VB中你可以做类似的事情If {"a", "b", "c"}.Contains("c") Then ...(让我们假装一些有用的东西并不总是如此) 我想知道的是,如果C#中有相同的内容.我能想出的最接近的事情是if (new object[] {"a", "b", "c"}.Contains("c")) { ... }我的问题是我必须在C#中定义类型,这意味着我必须使用对象 – 因为我正在编写一个翻译器,它需要同样适用于int数组,bool数组,自...

c# – List.OrderBy()基于Contains()的排序顺序?【代码】

我有一个标准的列表< Uri>定义包含一个简短的项目列表.我想使用foreach()迭代列表,但是想要将包含特定字符串值的项“置于顶部”以便首先处理它们. OrderBy()是否可以实现这一点,更好的是,它可以在一行中实现吗?谢谢!解决方法:你可以这样做:foreach(var uri in uriList.OrderByDescending(uri => uri.ToString().Contains("foo")) {// Use uri

c# – LINQ中的速度提升Where(Array.Contains)【代码】

我最初有一个包含返回int []的LINQ查询的方法,后来以类似于以下的方式使用它:int[] result = something.Where(s => previousarray.Contains(s.field));事实证明这是非常缓慢的,直到第一个数组被检索为本机IQueryable< int>.它现在运行得非常快,但是我想知道如果我从其他地方提供了一个int []然后必须如上所述使用它我将如何处理这种情况. 在这种情况下有没有办法加快查询速度?转换为列表似乎没有帮助.解决方法:在LINQ-SQL中,Cont...

CONTAINS - 相关标签
查询 - 相关标签