[索引页]
[源码下载]
作者: webabcd
介绍
·Distinct - 过滤集合中的相同项;延迟
·Union - 连接不同集合,自动过滤相同项;延迟
·Concat - 连接不同集合,不会自动过滤相同项;延迟
·Intersect - 获取不同集合的相同项(交集);延迟
·Except - 从某集合中删除其与另一个集合中相同的项;延迟
·Skip - 跳过集合的前n个元素;延迟
·Take - 获取集合的前n个元素;延迟
·SkipWhile - 直到某一条件成立就停止跳过;延迟
·TakeWhile - 直到某一条件成立就停止获取;延迟
·Single - 根据表达式返回集合中的某一元素;不延迟
·SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
·Reverse - 对集合反向排序;延迟
·SelectMany - Select选择(一对多);延迟
示例
Summary2.aspx.cs
Distinct - 过滤集合中的相同项;延迟
asp.net
csharp
xhtml
css
javascript
wcf
wpf
silverlight
linq
wf
sqlserver
asp.net ajax
ssis
ssas
ssrs
Union - 连接不同集合,自动过滤相同项;延迟
asp.net
csharp
xhtml
css
javascript
wcf
Concat - 连接不同集合,不会自动过滤相同项;延迟
asp.net
csharp
xhtml
asp.net
csharp
xhtml
css
javascript
wcf
Intersect - 获取不同集合的相同项(交集);延迟
csharp
xhtml
Except - 从某集合中删除其与另一个集合中相同的项;延迟
asp.net
Skip - 跳过集合的前n个元素;延迟
Take - 获取集合的前n个元素;延迟
xhtml
css
javascript
SkipWhile - 直到某一条件成立就停止跳过;延迟
TakeWhile - 直到某一条件成立就停止获取;延迟
javascript
wcf
wpf
asp.net
csharp
xhtml
css
javascript
silverlight
linq
Single - 根据表达式返回集合中的某一元素;不延迟
SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
silverlight
Reverse - 对集合反向排序;延迟
asp.net ajax
silverlight
javascript
javascript
sqlserver
asp.net
asp.net
csharp
csharp
xhtml
xhtml
ssrs
ssas
ssis
linq
css
wpf
wcf
css
wf
SelectMany - Select选择(一对多);延迟
asp
net
asp
net
asp
net ajax
OK
[源码下载]
[源码下载]
步步为营VS 2008 + .NET 3.5(6) - LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany
作者: webabcd
介绍
·Distinct - 过滤集合中的相同项;延迟
·Union - 连接不同集合,自动过滤相同项;延迟
·Concat - 连接不同集合,不会自动过滤相同项;延迟
·Intersect - 获取不同集合的相同项(交集);延迟
·Except - 从某集合中删除其与另一个集合中相同的项;延迟
·Skip - 跳过集合的前n个元素;延迟
·Take - 获取集合的前n个元素;延迟
·SkipWhile - 直到某一条件成立就停止跳过;延迟
·TakeWhile - 直到某一条件成立就停止获取;延迟
·Single - 根据表达式返回集合中的某一元素;不延迟
·SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
·Reverse - 对集合反向排序;延迟
·SelectMany - Select选择(一对多);延迟
示例
Summary2.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_Summary2 : 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",
"asp.net",
"silverlight", "linq", "wf", "sqlserver", "asp.net ajax", "ssis", "ssas", "ssrs" };
// Distinct - 过滤集合中的相同项;延迟
Summary_Distinct();
// Union - 连接不同集合,自动过滤相同项;延迟
Summary_Union();
// Concat - 连接不同集合,不会自动过滤相同项;延迟
Summary_Concat();
// Intersect - 获取不同集合的相同项(交集);延迟
Summary_Intersect();
// Except - 从某集合中删除其与另一个集合中相同的项;延迟
Summary_Except();
// Skip - 跳过集合的前n个元素;延迟
// Take - 获取集合的前n个元素;延迟
Summary_Skip_Take();
// SkipWhile - 直到某一条件成立就停止跳过;延迟
// TakeWhile - 直到某一条件成立就停止获取;延迟
Summary_SkipWhile_TakeWhile();
// Single - 根据表达式返回集合中的某一元素;不延迟
// SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
Summary_Single_SingleOrDefault();
// Reverse - 对集合反向排序;延迟
Summary_Reverse();
// SelectMany - Select选择(一对多);延迟
Summary_SelectMany();
}
}
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_Summary2 : 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",
"asp.net",
"silverlight", "linq", "wf", "sqlserver", "asp.net ajax", "ssis", "ssas", "ssrs" };
// Distinct - 过滤集合中的相同项;延迟
Summary_Distinct();
// Union - 连接不同集合,自动过滤相同项;延迟
Summary_Union();
// Concat - 连接不同集合,不会自动过滤相同项;延迟
Summary_Concat();
// Intersect - 获取不同集合的相同项(交集);延迟
Summary_Intersect();
// Except - 从某集合中删除其与另一个集合中相同的项;延迟
Summary_Except();
// Skip - 跳过集合的前n个元素;延迟
// Take - 获取集合的前n个元素;延迟
Summary_Skip_Take();
// SkipWhile - 直到某一条件成立就停止跳过;延迟
// TakeWhile - 直到某一条件成立就停止获取;延迟
Summary_SkipWhile_TakeWhile();
// Single - 根据表达式返回集合中的某一元素;不延迟
// SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
Summary_Single_SingleOrDefault();
// Reverse - 对集合反向排序;延迟
Summary_Reverse();
// SelectMany - Select选择(一对多);延迟
Summary_SelectMany();
}
}
Distinct - 过滤集合中的相同项;延迟
/// <summary>
Distinct - 过滤集合中的相同项;延迟
</summary>
void Summary_Distinct()
{
var ary = (from a in _ary
select a).Distinct();
foreach (string s ary)
{
result.InnerHtml +=+ "<br />;
}
result.InnerHtml ;
}
运行结果
Distinct - 过滤集合中的相同项;延迟
</summary>
void Summary_Distinct()
{
var ary = (from a in _ary
select a).Distinct();
foreach (string s ary)
{
result.InnerHtml +=+ "<br />;
}
result.InnerHtml ;
}
asp.net
csharp
xhtml
css
javascript
wcf
wpf
silverlight
linq
wf
sqlserver
asp.net ajax
ssis
ssas
ssrs
Union - 连接不同集合,自动过滤相同项;延迟
/**/
Union - 连接不同集合,自动过滤相同项;延迟
Summary_Union()
_ary
select a).Take(3).Union((from a _ary
select a).Take(6));
ary)
运行结果
Summary_Union()
_ary
select a).Take(3).Union((from a _ary
select a).Take(6));
ary)
asp.net
csharp
xhtml
css
javascript
wcf
Concat - 连接不同集合,不会自动过滤相同项;延迟
/**/
Concat - 连接不同集合,不会自动过滤相同项;延迟
Summary_Concat()
).Concat((from a _ary
select a).Take( ary)
;
}
运行结果
Summary_Concat()
).Concat((from a _ary
select a).Take( ary)
;
}
asp.net
csharp
xhtml
asp.net
csharp
xhtml
css
javascript
wcf
Intersect - 获取不同集合的相同项(交集);延迟
/**/
Intersect - 获取不同集合的相同项(交集);延迟
</summary>
void Summary_Intersect()
).Intersect((from a _ary
select a).Skip(1).Take( ary)
;
}
运行结果
</summary>
void Summary_Intersect()
).Intersect((from a _ary
select a).Skip(1).Take( ary)
;
}
csharp
xhtml
Except - 从某集合中删除其与另一个集合中相同的项;延迟
/**/
Except - 从某集合中删除其与另一个集合中相同的项;延迟
Summary_Except()
).Except((from a _ary
select a).Skip( ary)
;
}
运行结果
Summary_Except()
).Except((from a _ary
select a).Skip( ary)
;
}
asp.net
Skip - 跳过集合的前n个元素;延迟
Take - 获取集合的前n个元素;延迟
/**/
Skip - 跳过集合的前n个元素;延迟
Take - 获取集合的前n个元素;延迟
Summary_Skip_Take()
_ary
select a).Skip(2);
ary)
;
}
运行结果
Take - 获取集合的前n个元素;延迟
Summary_Skip_Take()
_ary
select a).Skip(2);
ary)
;
}
xhtml
css
javascript
SkipWhile - 直到某一条件成立就停止跳过;延迟
TakeWhile - 直到某一条件成立就停止获取;延迟
/**/
SkipWhile - 直到某一条件成立就停止跳过;延迟
TakeWhile - 直到某一条件成立就停止获取;延迟
Summary_SkipWhile_TakeWhile()
_ary
select a).SkipWhile(s => s.Length <8).TakeWhile(s > ary)
;
}
运行结果
TakeWhile - 直到某一条件成立就停止获取;延迟
Summary_SkipWhile_TakeWhile()
_ary
select a).SkipWhile(s => s.Length <8).TakeWhile(s > ary)
;
}
javascript
wcf
wpf
asp.net
csharp
xhtml
css
javascript
silverlight
linq
Single - 根据表达式返回集合中的某一元素;不延迟
SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
/// <summary>
/// Single - 根据表达式返回集合中的某一元素;不延迟
/// SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
/// </summary>
void Summary_Single_SingleOrDefault()
{
string s = (from a in _ary
select a).Single(a => a == "silverlight");
// string s = (from a in _ary
// select a).SingleOrDefault(a => a == "xxx");
// s == null
result.InnerHtml += s + "<br />";
result.InnerHtml += "<br />";
}
运行结果/// Single - 根据表达式返回集合中的某一元素;不延迟
/// SingleOrDefault - 根据表达式返回集合中的某一元素(如果没有则返回默认值);不延迟
/// </summary>
void Summary_Single_SingleOrDefault()
{
string s = (from a in _ary
select a).Single(a => a == "silverlight");
// string s = (from a in _ary
// select a).SingleOrDefault(a => a == "xxx");
// s == null
result.InnerHtml += s + "<br />";
result.InnerHtml += "<br />";
}
silverlight
Reverse - 对集合反向排序;延迟
/**/
Reverse - 对集合反向排序;延迟
Summary_Reverse()
_ary
orderby a.Length ascending
select a).Reverse();
ary)
;
}
运行结果
Summary_Reverse()
_ary
orderby a.Length ascending
select a).Reverse();
ary)
;
}
asp.net ajax
silverlight
javascript
javascript
sqlserver
asp.net
asp.net
csharp
csharp
xhtml
xhtml
ssrs
ssas
ssis
linq
css
wpf
wcf
css
wf
SelectMany - Select选择(一对多);延迟
/**/
SelectMany - Select选择(一对多);延迟
Summary_SelectMany()
_ary
where a.Contains(.)
select a).SelectMany(a a.Split(' ary)
;
}
运行结果
Summary_SelectMany()
_ary
where a.Contains(.)
select a).SelectMany(a a.Split(' ary)
;
}
asp
net
asp
net
asp
net ajax
OK
[源码下载]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。