C# linq语句学习
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语句学习的更多相关文章
- 常见LINQ语句学习
1.读取20条最新留言 public ActionResult Index() { var mostRecentEntries = (from entry in _db.Entries orderby ...
- LINQ学习系列-----2.1 一个Linq语句
Linq语句介绍 先上源码: 上述代码涵盖了Linq新特性: 代码解析: 针对本文中的几点特性,前面有文章进行阐述.
- [转]LINQ语句之Select/Distinct和Count/Sum/Min/Max/Avg
在讲述了LINQ,顺便说了一下Where操作,这篇开始我们继续说LINQ语句,目的让大家从语句的角度了解LINQ,LINQ包括LINQ to Objects.LINQ to DataSets.LINQ ...
- 【java开发】分支语句、循环语句学习
一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别 在写LINQ语句的时候,往往会看到.AsEnumerable() 和 .AsQueryable() .例如: s ...
- 动态拼接linq 使用Expression构造动态linq语句
最近在做动态构造linq语句,从网上找了很多,大多数,都是基于一张表中的某一个字段,这样的结果,从网上可以搜到很多.但如果有外键表,需要动态构造外键表中的字段,那么问题来了,学挖掘机哪家强?哦,不是, ...
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- [转]在Entity Framework中使用LINQ语句分页
本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...
- Linq语句基础
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- Elasticsearch 简单快照备份
创建仓库 POST http://10.10.14.201:9200/_snapshot/backup { "type": "fs", "settin ...
- ajax 函数回调
var initTaxPriod = function (taxNo) { intitSearch(); $("#taxPeriod").html(""); t ...
- mysql 删除所有表
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')FROM information_schema.tablesWHERE table_sch ...
- 斯特林公式 ——Stirling公式(取N阶乘近似值)
- c#堆与栈
一.在讲堆栈之前,我们先看看值类型和引用类型: 1,我们看看值类型与引用类型的存储方式: 引用类型:引用类型存储在堆中.类型实例化的时候,会在堆中开辟一部分空间存储类的实例.类对象的引用还是存储在栈中 ...
- Hashmap误区
HashMap简介 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射.HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Ser ...
- 移除K位数字
1.题目来源:选自LeetCode 402: 2.问题描述: 3.问题分析 通过分析我们可以得出这样的结论:如果后一个数字比前面的数字小的话,那么我们就要把前面的一个数字删除掉,并且每次把字符串中拆出 ...
- jdk的安装过程
一.安装软件 jdk的安装:现在已经更新到11版本,这里下载的是8版本的(官网也只支持8和11的下载) 1.下载jdk网址:https://www.oracle.com/technetwork/jav ...
- Go语言基础之切片
Go语言基础之切片 本文主要介绍Go语言中切片(slice)及它的基本使用. 引子 因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. 例如: func arraySum(x ...
- 什么是 js 变量提升 (Javascript Hoisting)
Javascript是一门容易遭人误解的语言,但是它的强大毋庸置疑.个人觉得,要想深入理解Javascript语言,首先必须对其基本的概念(例如:Scope,Closure,Hoisting等)要真正 ...