LINQ查询表达式---------where子句

  1. where 子句用在查询表达式中,用于指定将在查询表达式中返回数据源中的哪些元素。 它将一个布尔条件(“谓词”)应用于每个源元素(由范围变量引用),并返回满足指定条件的元素。 一个查询表达式可以包含多个 where 子句,一个子句可以包含多个谓词子表达式。

1.1 常见的where子句查询

  1. static void Main(string[] args)
  2. {
  3. int[] numbers = { , , , , , , , , , };
  4.  
  5. var num1 = from n in numbers
  6. where n >
  7. select n;
  8.  
  9. foreach (var i in num1)
  10. {
  11. Console.Write(i + " ");
  12. }
  13.  
  14. Console.Write("\n");
  15. Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  16.  
  17. var num2 = from n in numbers
  18. where n >
  19. where n % ==
  20. select n;
  21.  
  22. foreach (var i in num2)
  23. {
  24. Console.Write(i + " ");
  25. }
  26.  
  27. Console.Write("\n");
  28. Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  29.  
  30. var num3 = from n in numbers
  31. where n > && n <
  32. select n;
  33.  
  34. foreach (var i in num3)
  35. {
  36. Console.Write(i + " ");
  37. }
  38.  
  39. Console.Write("\n");
  40. Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
  41.  
  42. var num4 = from n in numbers
  43. where (n == || n < ) && (n != )
  44. select n;
  45.  
  46. foreach (var i in num4)
  47. {
  48. Console.Write(i + " ");
  49. }
  50.  
  51. Console.ReadLine();
  52. }
  1. 输出结果:
  2. 9 7 8 6
  3. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  4. 8 6
  5. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. 7 8 6
  7. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8. 5 8 3 4 6 2 1 0

1.2 where子句中用自定义函数

  1. static void Main(string[] args)
  2. {
  3. int[] numbers = { , , , , , , , , , };
  4.  
  5. var num = from n in numbers
  6. where IsEva(n)
  7. select n;
  8.  
  9. foreach (var i in num)
  10. {
  11. Console.Write(i + " ");
  12. }
  13.  
  14. Console.ReadLine();
  15. }
  16.  
  17. public static bool IsEva(int i)
  18. {
  19. if (i % == )
  20. return true;
  21. else
  22. return false;
  23. }
  1. 查询结果:
  2. 8 4 6 2 0

1.3 动态微词的筛选

  1. static void Main(string[] args)
  2. {
  3. int[] numbers = { , , , , , , , , , };
  4.  
  5. //定义动态的谓词数组,这个数组应该由实际运行环境生成
  6. int[] number = { , , , , };
  7.  
  8. //查询在给定谓词数组里不存在的数字
  9. var num = from n in numbers
  10. where !number.Contains(n)
  11. select n;
  12.  
  13. foreach (var i in num)
  14. {
  15. Console.Write(i + " ");
  16. }
  17.  
  18. Console.ReadLine();
  19. }
  1. 输出结果:
  2. 9 8 4 6 2

  

LINQ查询表达式---------where子句的更多相关文章

  1. LINQ查询表达式---------let子句

    LINQ查询表达式---------let子句 let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. class P ...

  2. LINQ查询表达式---------join子句

    LINQ查询表达式---------join子句 join 子句接受两个源序列作为输入. 每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性. join子句使用 ...

  3. LINQ查询表达式---------orderby子句

    LINQ查询表达式---------orderby子句 LINQ可以按元素的一个或多个属性对元素进行排序. class Program { public class PerInfo { public ...

  4. LINQ查询表达式---------group子句

    LINQ查询表达式---------group子句 LINQ表达式必须以from子句开头,以select或group子句结束.使用guoup子句来返回元素分组后的结果.group 子句返回一个 IGr ...

  5. LINQ查询表达式---------select子句

    LINQ查询表达式---------select子句 1.1常见的select子句查询 class Program { public class PerInfo { public int Id { g ...

  6. LINQ查询表达式---------from子句

    LINQ查询表达式---------from子句 LINQ的查询由3基本部分组成:获取数据源,创建查询,执行查询. //1.获取数据源 List<, , , , , }; //创建查询 var ...

  7. 2.3 LINQ查询表达式中 使用select子句 指定目标数据

    本篇讲解LINQ查询的三种形式: 查询对象 自定义查询对象某个属性 查询匿名类型结果 [1.查询结果返回集合元素] 在LINQ查询中,select子句和from子句都是必备子句.LINQ查询表达式必须 ...

  8. LINQ查询表达式---------into

    LINQ查询表达式---------into into 上下文关键字创建一个临时标识符,以便将 group.join 或 select 子句的结果存储到新的标识符 class Program { pu ...

  9. LINQ查询表达式(1) - 查询表达式基础

    LINQ包括五个部分:LINQto Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML. 什么是查询?它有什么用途? “ ...

随机推荐

  1. iOS中html5的交互:WebViewJavascriptBridge

    https://github.com/marcuswestin/WebViewJavascriptBridge Setup & Examples (iOS & OSX) Start w ...

  2. C#反射应用

    考虑这个是因为返回的是对象集合,需要把对象集合绑定到datagridview上,绑定datagridview需要数据源,组装数据的话,用datatable添加列很麻烦,所以用反射来实现,估计可能会有多 ...

  3. svn: is already a working copy for a different url 解决办法

    svnX    svn: E155000: '/Users/mac/Desktop/SHiosProject/SVNmangerfiles/wuye'   is already a working c ...

  4. erlang版本的protobuf

    这两天看了google protocol buffers的文档,protobuf非常不错,解决了一直以来遇到的消息版本不同的问题,对项目中的开发非常有帮助. 最近在学习erlang,官方只有java. ...

  5. shell脚本一键安装mysql5.7.x(免安装版)

    使用脚本一键安装mysql5.7.x,初始化数据库,启动数据库---- mysql版本:源码mysql5.7.10 linux版本:centos6.5 x86_64 #!/bin/bash GROUP ...

  6. Java反射xml数据类

    我们做自己的自动化测试.遇到使用xml存储数据,然而,这些数据可以被封装成一个类.将数据传递.通过下面的实际例子,展示给大家.请欣赏. 第一步:xml数据存储将被使用 第二步:读取xml文件的方法 第 ...

  7. windows 7、Windows10 系统目录迁移,修改安装的默认路径:Users,Program Files,ProgramData

    Tips:本文只针对Win7.windows 10系统有过测试,其他系统尚未测试:不过大家想尝试也可.这次实验是我做的全新 win7_32位系统来测试的,windows10当然64位的系统也可.至少现 ...

  8. 世界卫生组织(WHO)发出最新警告:埃博拉疫情应急响应

    10月14r日.世界卫生组织(WHO)发出警告:在未来两个月内,西非国家将面对"could face up to 10 thousand new Ebola cases a week wit ...

  9. Qt自定义密码框,先显示后隐藏(继承以后改写slot即可,即与哪个相近就改写哪个)good

    现在很多应用在密码输入时,会先显示一段时间,大概几百毫秒,然后再变成星号或者圆点隐藏起来.这样做的好处是,可以让密码输入者看到自己输入的字符,同时又防止密码被偷窥.但是Qt自带的密码输入框,要么输入时 ...

  10. phpcms视图查询数据

    {pc:get sql="SELECT * FROM phpcms WHERE id in ($id) ORDER BY listorder ASC LIMIT 0, 1--"re ...