介绍
·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
·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(); } }
distinct - 过滤集合中的相同项;延迟
/// <summary> /// distinct - 过滤集合中的相同项;延迟 /// </summary> void Summary_distinct() { var ary = (from a in _ary select a).distinct(); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
asp.net
csharp
xhtml
css
javascript
wcf
wpf
silverlight
linq
wf
sqlserver
asp.net ajax
ssis
ssas
ssrs
Union - 连接不同集合,自动过滤相同项;延迟
/**//// <summary> /// Union - 连接不同集合,自动过滤相同项;延迟 /// </summary> void Summary_Union() { var ary = (from a in _ary select a).Take(3).Union((from a in _ary select a).Take(6)); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
asp.net
csharp
xhtml
css
javascript
wcf
Concat - 连接不同集合,不会自动过滤相同项;延迟
/**//// <summary> /// Concat - 连接不同集合,不会自动过滤相同项;延迟 /// </summary> void Summary_Concat() { var ary = (from a in _ary select a).Take(3).Concat((from a in _ary select a).Take(6)); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
asp.net
csharp
xhtml
asp.net
csharp
xhtml
css
javascript
wcf
Intersect - 获取不同集合的相同项(交集);延迟
/**//// <summary> /// Intersect - 获取不同集合的相同项(交集);延迟 /// </summary> void Summary_Intersect() { var ary = (from a in _ary select a).Take(3).Intersect((from a in _ary select a).Skip(1).Take(3)); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
csharp
xhtml
Except - 从某集合中删除其与另一个集合中相同的项;延迟
/**//// <summary> /// Except - 从某集合中删除其与另一个集合中相同的项;延迟 /// </summary> void Summary_Except() { var ary = (from a in _ary select a).Take(3).Except((from a in _ary select a).Skip(1).Take(3)); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
asp.net
Skip - 跳过集合的前n个元素;延迟
Take - 获取集合的前n个元素;延迟
/**//// <summary> /// Skip - 跳过集合的前n个元素;延迟 /// Take - 获取集合的前n个元素;延迟 /// </summary> void Summary_Skip_Take() { var ary = (from a in _ary select a).Skip(2).Take(3); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
xhtml
css
javascript
Skipwhile - 直到某一条件成立就停止跳过;延迟
TakeWhile - 直到某一条件成立就停止获取;延迟
/**//// <summary> /// Skipwhile - 直到某一条件成立就停止跳过;延迟 /// TakeWhile - 直到某一条件成立就停止获取;延迟 /// </summary> void Summary_Skipwhile_TakeWhile() { var ary = (from a in _ary select a).Skipwhile(s => s.Length < 8).TakeWhile(s => s.Length > 2); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
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 />"; }
运行结果
silverlight
Reverse - 对集合反向排序;延迟
/**//// <summary> /// Reverse - 对集合反向排序;延迟 /// </summary> void Summary_Reverse() { var ary = (from a in _ary orderby a.Length ascending select a).Reverse(); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
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选择(一对多);延迟
/**//// <summary> /// SelectMany - Select选择(一对多);延迟 /// </summary> void Summary_SelectMany() { var ary = (from a in _ary where a.Contains(".") select a).SelectMany(a => a.Split('.')); foreach (string s in ary) { result.InnerHtml += s + "<br />"; } result.InnerHtml += "<br />"; }
运行结果
asp net asp net asp net ajax
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。