using System;
using System.Linq; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] arr = { , , , , , };
var a = from num in arr
where num % ==
select num;
foreach (var i in a)
{
Console.WriteLine(i);
}
Console.ReadKey();
var b = arr.Where(x => x % == ).OrderBy(n=>n); foreach (var i in b)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
}
}

使用LINQ查询.NET对象

using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
List<Student> list = new List<Student>()
{
new Student() { Name="张三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="女", Age= }
};
var query = from item in list
where item.Name.StartsWith("张") && item.sex == "男"
select item;
foreach(var item in query)
{
Console.WriteLine(item.Name);
}
Console.ReadKey(); }
}
}

查询语句用用查询方法代替:

var query = list.Where(item => item.Name.StartsWith("张") && item.sex == "男");

查询类型是ArrayList的是需要在变量前增加类型的定义:

using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
ArrayList list = new ArrayList()
{
new Student() { Name="张三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="男", Age= },
new Student() { Name="李三丰", sex="女", Age= }
};
var query = from Student item in list where item.Name.StartsWith("张") && item.sex == "男" select item;
foreach (Student item in query)
{
Console.WriteLine(item.Name);
}
Console.ReadKey(); }
}
}

用索引器筛选:

             List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age= },
new Student(){ Name="张三丰", Sex="男", Age= },
new Student(){ Name="李三丰", Sex="男", Age= },
new Student(){ Name="李三丰", Sex="男", Age= },
new Student(){ Name="李四", Sex="女", Age= },
};
var query = list.Where(( item,index )=>item.Name.StartsWith("李")&&item.Sex=="女"&&index%==);
foreach(Student stu in query){
Console.WriteLine(stu.Name);
}

类型筛选:

            object[] arr = {"str",,,"mlh"};
var query = arr.OfType<string>();
foreach(var item in query){
Console.WriteLine(item);
}

复合的from子句

            List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query =from item in list
from age in item.Age
where age==
select item;
foreach(Student stu in query){
Console.WriteLine(stu.Name);
}

select子句:

            List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query =from item in list
from age in item.Age
where age==
select item.Name;
foreach(string item in query){
Console.WriteLine(item);
}

查询方法:

            List<Student> list = new List<Student>(){
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ ,} },
new Student(){ Name="张三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李三丰", Sex="男", Age=new int[]{ , } },
new Student(){ Name="李四", Sex="女", Age=new int[]{ ,} },
};
var query = list.Where((item) => {
return item.Name.StartsWith("李");
}).Select(item=>item.Name);
foreach(string item in query){
Console.WriteLine(item);
}

group by 分组:

            List<Student> list = new List<Student>(){
new Student(){Name="****",Sex="男",Age=new int[]{,}},
new Student(){Name="***",Sex="女",Age=new int[]{,}},
new Student(){Name="***",Sex="女",Age=new int[]{,}},
new Student(){Name="石盐",Sex="男",Age=new int[]{,}},
new Student(){Name="梅盐",Sex="男",Age=new int[]{,}},
};
var query = from item in list
group item by item.Sex;foreach(var stu in query){
foreach(var item in stu){
Console.WriteLine(item.Name);
}
}

C# linq语句学习的更多相关文章

  1. 常见LINQ语句学习

    1.读取20条最新留言 public ActionResult Index() { var mostRecentEntries = (from entry in _db.Entries orderby ...

  2. LINQ学习系列-----2.1 一个Linq语句

    Linq语句介绍 先上源码: 上述代码涵盖了Linq新特性: 代码解析: 针对本文中的几点特性,前面有文章进行阐述.

  3. [转]LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg

    在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ ...

  4. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  5. LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别

    LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别 在写LINQ语句的时候,往往会看到.AsEnumerable() 和 .AsQueryable() .例如: s ...

  6. 动态拼接linq 使用Expression构造动态linq语句

    最近在做动态构造linq语句,从网上找了很多,大多数,都是基于一张表中的某一个字段,这样的结果,从网上可以搜到很多.但如果有外键表,需要动态构造外键表中的字段,那么问题来了,学挖掘机哪家强?哦,不是, ...

  7. SQL语句学习手册实例版

    SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  8. [转]在Entity Framework中使用LINQ语句分页

    本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...

  9. Linq语句基础

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. hdu3555数位dp基础

    /* dp[i][0|1|2]:没有49的个数|最高位是9,没有49的个数|有49的个数 dp[i][0]=10*dp[i-1][0]-dp[i-1][1] dp[i][1]=dp[i-1][0] d ...

  2. VC调用静态库、动态库

    静态库 // 相对路径 或者 绝对路径 #include "yourlib.h" //相对路径 或者 绝对路径 #pragma comment(lib, "yourlib ...

  3. php html生成页面二维码

    这个方法主要是针对html页面生成二维码,因此需要一个配置文件phpqrcode.php(因内容太多所以请大家去百度网盘自己下载即可,链接: https://pan.baidu.com/s/1_2mA ...

  4. 20165220 mybash

    使用fork,exec,wait实现mybash - 写出伪代码,产品代码和测试代码 - 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1.fork 功能:创建一个新的进程 一个现存进程 ...

  5. Android高级工程师面试实战,您会挂么?

    xxx公司面试总结 面试形势 群聊(2个面试官+HR+自己) 面试流程 自我介绍 面试官根据你的介绍开始问 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议 ...

  6. hadoop2集群环境搭建

    在查询了很多资料以后,发现国内外没有一篇关于hadoop2集群环境搭建的详细步骤的文章. 所以,我想把我知道的分享给大家,方便大家交流. 以下是本文的大纲: 1. 在windows7 下面安装虚拟机2 ...

  7. HDU 2008 数值统计

    题目链接:HDU 2008 Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的 ...

  8. redis日志格式

    在redis.conf中,在大概65行左右有个loglevel # 指定日志记录级别# Redis总共支持四个级别:debug.verbose.notice.warning,默认为verbose# d ...

  9. ie下js不执行的几种可能

    1.首先考虑的就是代码是否有报错2.其次搜索代码中是否有console.log等测试的代码3.检查所用的方法是否兼容ie 以上是鄙人在开发过程中遇到的几种情况,抛砖来引玉~~

  10. Viterbi algorithm

    HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,是一个关于时序的概率模型,它描述了一个由隐藏的马尔可夫链生成状态序列,再由状态序列生成观测序列的过程.其中,状态之间的转换以及观测序列和状态序 ...