大佬教程收集整理的这篇文章主要介绍了LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhi,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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(); } }
/// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
/**//// <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 />"; }
以上是大佬教程为你收集整理的LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhi全部内容,希望文章能够帮你解决LINQ查询操作符之Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhi所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。