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. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

  2. Codeforces 522D Closest Equals

    题解: 傻逼题 直接从左向右扫描每个点作为右端点 然后单点修改区间查询就行了 另外一种更直观的做法就是$(i,j)$之间产生了$(j-i)$ 于是变成矩形查最大值,kd-tree维护 代码: #inc ...

  3. entityframework单例模式泛型用法

    public class yms_Entity<T> where T :DbContext { private static T _instance; public static read ...

  4. Linux下如何查看系统启动时间和运行时间以及安装时间

    1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00 2.查看/proc/uptime文件计算 ...

  5. Monolog手册参考

    https://api.kdyby.org/namespace-Monolog.Handler.html

  6. GA:利用GA对一元函数进行优化过程,求x∈(0,10)中y的最大值——Jason niu

    x = 0:0.01:10; y = x + 10*sin(5*x)+7*cos(4*x); figure plot(x, y) xlabel('independent variable') ylab ...

  7. leetcode 91 Decode Ways I

    令dp[i]为从0到i的总方法数,那么很容易得出dp[i]=dp[i-1]+dp[i-2], 即当我们以i为结尾的时候,可以将i单独作为一个字母decode (dp[i-1]),同时也可以将i和i-1 ...

  8. python mysql 单表查询 多表查询

    一.外键 变种: 三种关系: 多对一 站在左表的角度: (1)一个员工 能不能在 多个部门? 不成立 (2)多个员工 能不能在 一个部门? 成立 只要有一个条件成立:多 对 一或者是1对多 如果两个条 ...

  9. 转载Alpine基础

    2018-08-06 基础镜像 FROM alpine:latest 国内可用镜像地址 官方镜像列表:http://rsync.alpinelinux.org/alpine/MIRRORS.txt 镜 ...

  10. WPF DataGrid分页功能实现代码

    在Silverlight中DataGrid分页可以结合DataPager控件很容易实现,但是在WPF中没有类似的,需要手动实现这样一个控件: 1.创建一个UserControl,DP.xaml,代码如 ...