LINQ查询操作符
- ·First - 返回集合中的第一个元素;不延迟
- ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
- ·Last - 返回集合中的最后一个元素;不延迟
- ·LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
- ·ElementAt - 返回集合中指定索引的元素;不延迟
- ·ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
- ·Contains - 判断集合中是否包含有某一元素;不延迟
- ·Any - 判断集合中是否有元素满足某一条件;不延迟
- ·All - 判断集合中是否所有元素都满足某一条件;不延迟
- ·Count - 返回集合中的元素个数,返回int;不延迟
- ·LongCount - 返回集合中的元素个数,返回long;不延迟
- ·Sum - 集合应为数字类型集合,求其和;不延迟
- ·Min - 返回集合的最小值;不延迟
- ·Max - 返回集合的最大值;不延迟
- ·Average - 集合应为数字类型集合,求其平均值;不延迟
- ·Aggregate - 根据输入的表达式获取一个聚合值;不延迟
- ·Cast - 将集合转换为强类型集合;延迟
- ·DefaultIfEmpty - 查询结果为空则返回默认值;延迟
- ·SequenceEqual - 判断两个集合是否相同;不延迟
- ·OfType - 过滤集合中的指定类型;延迟
- ·ToArray - 将集合转换为数组;不延迟
- ·ToList - 将集合转换为List<T>集合;不延迟
- ·ToDictionary - 将集合转换为<K, V>集合;不延迟
Summary3.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq; using System.Collections.Generic;
using DAL; public partial class LINQ_Summary3 : System.Web.UI.Page
{
NorthwindDataContext _ctx = new NorthwindDataContext();
string[] _ary = null; protected void Page_Load(object sender, EventArgs e)
{
_ary = new string[] { "asp.net", "csharp", "xhtml", "css", "javascript",
"wcf", "wpf", "silverlight", "linq", "wf",
"sqlserver", "asp.net ajax", "ssis", "ssas", "ssrs" }; // First - 返回集合中的第一个元素;不延迟
// FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
Summary_First_FirstOrDefault(); // Last - 返回集合中的最后一个元素;不延迟
// LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
Summary_Last_LastOrDefault(); // ElementAt - 返回集合中指定索引的元素;不延迟
// ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
Summary_ElementAt_ElementAtOrDefault(); // Contains - 判断集合中是否包含有某一元素;不延迟
Summary_Contains(); // Any - 判断集合中是否有元素满足某一条件;不延迟
Summary_Any(); // All - 判断集合中是否所有元素都满足某一条件;不延迟
Summary_All(); // Count - 返回集合中的元素个数,返回int;不延迟
// LongCount - 返回集合中的元素个数,返回long;不延迟
Summary_Count_LongCount(); // Sum - 集合应为数字类型集合,求其和;不延迟
Summary_Sum(); // Min - 返回集合的最小值;不延迟
Summary_Min(); // Max - 返回集合的最大值;不延迟
Summary_Max(); // Average - 集合应为数字类型集合,求其平均值;不延迟
Summary_Average(); // Aggregate - 根据输入的表达式获取一个聚合值;不延迟
Summary_Aggregate(); // Cast - 将集合转换为强类型集合;延迟
Summary_Cast(); // DefaultIfEmpty - 查询结果为空则返回默认值;延迟
Summary_DefaultIfEmpty(); // SequenceEqual - 判断两个集合是否相同;不延迟
Summary_SequenceEqual(); // OfType - 过滤集合中的指定类型;延迟
Summary_OfType(); // ToArray - 将集合转换为数组;不延迟
Summary_ToArray(); // ToList - 将集合转换为List<T>集合;不延迟
Summary_ToList(); // ToDictionary - 将集合转换为<K, V>集合;不延迟
Summary_ToDictionary();
}
}
First - 返回集合中的第一个元素;不延迟
FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
/**//// <summary>
/// First - 返回集合中的第一个元素;不延迟
/// FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值);不延迟
/// </summary>
void Summary_First_FirstOrDefault()
{
string s = (from a in _ary
select a).First(a => a.StartsWith("s"));
// string s = (from a in _ary
// select a).FirstOrDefault(a => a.StartsWith("xxx"));
// s == null result.InnerHtml += s + "<br />";
result.InnerHtml += "<br />";
}运行结果
silverlight Last - 返回集合中的最后一个元素;不延迟
LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
/**//// <summary>
/// Last - 返回集合中的最后一个元素;不延迟
/// LastOrDefault - 返回集合中的最后一个元素(如果没有则返回默认值)
/// </summary>
void Summary_Last_LastOrDefault()
{
string s = (from a in _ary
select a).Last(a => a.StartsWith("s"));
// string s = (from a in _ary
// select a).LastOrDefault(a => a.StartsWith("sss"));
// s == null result.InnerHtml += s + "<br />";
result.InnerHtml += "<br />";
}运行结果
ssrs ElementAt - 返回集合中指定索引的元素;不延迟
ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
/**//// <summary>
/// ElementAt - 返回集合中指定索引的元素;不延迟
/// ElementAtOrDefault - 返回集合中指定索引的元素(如果没有则返回默认值);不延迟
/// </summary>
void Summary_ElementAt_ElementAtOrDefault()
{
string s = (from a in _ary
select a).ElementAt();
// string s = (from a in _ary
// select a).ElementAtOrDefault(1000);
// s == null result.InnerHtml += s + "<br />";
result.InnerHtml += "<br />";
}运行结果
css Contains - 判断集合中是否包含有某一元素;不延迟
/**//// <summary>
/// Contains - 判断集合中是否包含有某一元素;不延迟
/// </summary>
void Summary_Contains()
{
bool b = (from a in _ary
select a).Contains("javascript"); result.InnerHtml += b.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果
True Any - 判断集合中是否有元素满足某一条件;不延迟
/**//// <summary>
/// Any - 判断集合中是否有元素满足某一条件;不延迟
/// </summary>
void Summary_Any()
{
bool b = (from a in _ary
select a).Any(p => p.Length > ); result.InnerHtml += b.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果
True All - 判断集合中是否所有元素都满足某一条件;不延迟
/**//// <summary>
/// All - 判断集合中是否所有元素都满足某一条件;不延迟
/// </summary>
void Summary_All()
{
bool b = (from a in _ary
select a).All(p => p.Length > ); result.InnerHtml += b.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果
False Count - 返回集合中的元素个数,返回int;不延迟
LongCount - 返回集合中的元素个数,返回long;不延迟
/**//// <summary>
/// Count - 返回集合中的元素个数,返回int;不延迟
/// LongCount - 返回集合中的元素个数,返回long;不延迟
/// </summary>
void Summary_Count_LongCount()
{
int i = (from a in _ary
select a).Count(p => p.Length > );
// long i = (from a in _ary
// select a).LongCount(p => p.Length > 10); result.InnerHtml += i.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果 Sum - 集合应为数字类型集合,求其和;不延迟
/**//// <summary>
/// Sum - 集合应为数字类型集合,求其和;不延迟
/// </summary>
void Summary_Sum()
{
int i = (from a in _ary
select a.Length).Sum(); result.InnerHtml += i.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果 Min - 返回集合的最小值;不延迟
/**//// <summary>
/// Min - 返回集合的最小值;不延迟
/// </summary>
void Summary_Min()
{
int i = (from a in _ary
select a.Length).Min(); result.InnerHtml += i.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果 Max - 返回集合的最大值;不延迟
/**//// <summary>
/// Max - 返回集合的最大值;不延迟
/// </summary>
void Summary_Max()
{
int i = (from a in _ary
select a.Length).Max(); result.InnerHtml += i.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果 Average - 集合应为数字类型集合,求其平均值;不延迟
/**//// <summary>
/// Average - 集合应为数字类型集合,求其平均值;不延迟
/// </summary>
void Summary_Average()
{
double d = (from a in _ary
select a.Length).Average(); result.InnerHtml += d.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果
5.8 Aggregate - 根据输入的表达式获取一个聚合值;不延迟
/**//// <summary>
/// Aggregate - 根据输入的表达式获取一个聚合值;不延迟
/// </summary>
void Summary_Aggregate()
{
// 以下算法的Aggregate相当于Sum
double d = (from a in _ary
select a.Length).Aggregate((x, y) => x + y); result.InnerHtml += d.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果 Cast - 将集合转换为强类型集合;延迟
/**//// <summary>
/// Cast - 将集合转换为强类型集合;延迟
/// </summary>
void Summary_Cast()
{
ArrayList al = new ArrayList();
al.Add("asp.net");
al.Add("csharp");
al.Add("xhtml"); var list = al.Cast<string>(); foreach (string s in list)
{
result.InnerHtml += s + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
asp.net
csharp
xhtml DefaultIfEmpty - 查询结果为空则返回默认值;延迟
/**//// <summary>
/// DefaultIfEmpty - 查询结果为空则返回默认值;延迟
/// </summary>
void Summary_DefaultIfEmpty()
{
var list = (from a in _ary
where a.Length >
select a).DefaultIfEmpty("xxx"); foreach (string s in list)
{
result.InnerHtml += s + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
xxx SequenceEqual - 判断两个集合是否相同;不延迟
/**//// <summary>
/// SequenceEqual - 判断两个集合是否相同;不延迟
/// </summary>
void Summary_SequenceEqual()
{
bool b = (from a in _ary
where a.Length >
select a).SequenceEqual(from a in _ary
where a.Length >
select a); result.InnerHtml += b.ToString() + "<br />";
result.InnerHtml += "<br />";
}运行结果
True OfType - 过滤集合中的指定类型;延迟
/**//// <summary>
/// OfType - 过滤集合中的指定类型;延迟
/// </summary>
void Summary_OfType()
{
object[] objects = { , "a", , "b", , "c" }; var list = objects.OfType<string>(); foreach (string s in list)
{
result.InnerHtml += s + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
a
b
c ToArray - 将集合转换为数组;不延迟
/**//// <summary>
/// ToArray - 将集合转换为数组;不延迟
/// </summary>
void Summary_ToArray()
{
string[] ary = (from p in _ctx.Products
where p.ProductName.Length >
select p.ProductName).ToArray(); foreach (string s in ary)
{
result.InnerHtml += s + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
Jack's New England Clam Chowder
Louisiana Fiery Hot Pepper Sauce
Original Frankfurter grüne So?e
Uncle Bob's Organic Dried Pears ToList - 将集合转换为List<T>集合;不延迟
/**//// <summary>
/// ToList - 将集合转换为List<T>集合;不延迟
/// </summary>
void Summary_ToList()
{
var list = (from a in _ary
where a.Length >
select a).ToList(); foreach (string s in list)
{
result.InnerHtml += s + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
silverlight
asp.net ajax ToDictionary - 将集合转换为<K, V>集合;不延迟
/**//// <summary>
/// ToDictionary - 将集合转换为<K, V>集合;不延迟
/// </summary>
void Summary_ToDictionary()
{
var dic = (from p in _ctx.Products
where p.ProductName.Length >
select p).ToDictionary(p => p.ProductID); foreach (var p in dic)
{
result.InnerHtml += p.Key + ":" + p.Value.ProductName + "<br />";
}
result.InnerHtml += "<br />";
}运行结果
:Uncle Bob's Organic Dried Pears
:Jack's New England Clam Chowder
:Louisiana Fiery Hot Pepper Sauce
:Original Frankfurter grüne So?e
LINQ查询操作符的更多相关文章
- .NET 3.5(5) - LINQ查询操作符之Select、Where、OrderBy、OrderByDescending
.NET 3.5(5) - LINQ查询操作符之Select.Where.OrderBy.OrderByDescending 介绍 ·Select - Select选择:延迟 ·Where ...
- LINQ查询操作符之Select、Where、OrderBy、OrderByDescending、GroupBy、Join、GroupJoin及其对应的查询语法
介绍 ·Select - Select选择:延迟 ·Where - Where查询:延迟 ·OrderBy - 按指定表达式对集合正序排序:延迟 ·OrderByDescend ...
- LINQ查询操作符 LINQ学习第二篇[转]
一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataCo ...
- LINQ查询操作符 LINQ学习第二篇
一.投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影.下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataCo ...
- LINQ查询操作符之First、FirstOrDefault、Last、LastOrDefault、ElementAt、ElementAtOrDefault、Contains、Any、All、Coun
·First - 返回集合中的第一个元素:不延迟 ·FirstOrDefault - 返回集合中的第一个元素(如果没有则返回默认值):不延迟 ·Last - 返回集合中的最后一个元素:不延迟 ·Las ...
- C#编程(六十二)---------LINQ标准的查询操作符
LINQ标准的查询操作符 首先我们来看一下LINQ的操作符,可根据查询操作符的操作”类型”进行分类,如把它们分成投影,限制,排序,联接,分组,串联,聚合,集合,生成,转换,元素,相等,量词,分割等. ...
- 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take
Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...
- LinQ实战学习笔记(三) 序列,查询操作符,查询表达式,表达式树
序列 延迟查询执行 查询操作符 查询表达式 表达式树 (一) 序列 先上一段代码, 这段代码使用扩展方法实现下面的要求: 取进程列表,进行过滤(取大于10M的进程) 列表进行排序(按内存占用) 只保留 ...
- LINQ标准查询操作符详解(转)
一. 关于LINQ LINQ 英文全称是“Language-Integrated Query”,中文为“语言集成查询”,它是微软首席架构师.Delphi 之父和C# 之父——Anders ...
随机推荐
- java基础重点: 面向对象,
java分了5片内存. 1:寄存器.2:本地方法区.3:方法区.4:栈.5:堆. 栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 ):只要数据运算完成所在的区域结束,该数据就 ...
- Android(java)学习笔记10:同步中的死锁问题以及线程通信问题
1. 同步弊端: (1)效率低 (2)如果出现了同步嵌套,就容易产生死锁问题 死锁问题及其代码 : (1)是指两个或者两个以上的线程在执行的过程中,因争夺资源产生的一种互相等待现象 (2)同步代码块的 ...
- 【洛谷5286】[HNOI2019] 鱼(计算几何)
点此看题面 大致题意: 给你\(n\)个点,让你求鱼形图的数量. 核心思路 首先,考虑到\(n\)这么小,我们可以枚举线段\(AD\),再去找符合条件的\(BC,EF\). 然后,不难发现\(BC\) ...
- 【洛谷5279】[ZJOI2019] 麻将(“胡牌自动机”上DP)
点此看题面 大致题意: 给你13张麻将牌,问你期望再摸多少张牌可以满足存在一个胡的子集. 似乎ZJOI2019Day1的最大收获是知道了什么是胡牌? 一个显然的性质 首先我们要知道一个显然的性质,即对 ...
- POJ 2531 深搜剪枝
题意:全局最大割. 分析:有相应的算法,数据量很小,可以枚举源点,汇点,最大流. 这里用DFS,状态定义:分成两个集合,刚开始S集合全部点,然后一个一个放,这是一个回溯的过程. 没剪枝也过了. 剪枝技 ...
- react中使用css动画效果
index.js import React, { Component, Fragment } from 'react'; class App extends Component { construct ...
- prior_box层
https://www.jianshu.com/p/5195165bbd06 1.step_w.step_h其实就相当于faster中的feat_stride,也就是把这些点从feature map映 ...
- 移动端判断微信浏览器安卓浏览器和ios浏览器
$(function(){ var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf ...
- vue使用v-for循环,动态修改element-ui的el-switch
在使用element-ui的el-switch中,因为要用v-for循环,一直没有成功,后来仔细查看文档,发现可以这样写 <el-switch v-for="(item, key) i ...
- Vue--- 使用vuex使用流程 1.0
Vuex 1.安装vuex npm install -save vuex 2. 引入 创建store文件夹目录 创建 vuex 指挥公共目录 store['state','action ...