LinQ综合应用实例
2014-01-21 11:56
387 查看
直接上代码,内容很浅显易懂,在这里就不做更多的解释,解释见代码注释。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Threading.Tasks; public partial class test : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string[] names = { "Wang", "Biao", "WangBiao", "Kingtiger" }; var q1 = names.Where(a => a.StartsWith("W"));//直接查询 var q2 = from a in names where a.StartsWith("W") select a;//linq查询 var q3 = from a in names where a.StartsWith("W") orderby a descending select a;//linq查询,包括排序,倒序要加上descending var q4 = names.OrderBy(a => a).Where(a=>a.StartsWith("W"));//直接排序 var q5 = names.OrderByDescending(a => a).Where(a=>a.StartsWith("W"));//直接倒序排序 var q6 = from a in names select new { HI = a + ",您好!" };//查询后重构输出 var q7 = names.Select(a => new { HI = a + ",您好!" });//直接查询构造输出 List<Person> persons = new List<Person>(); persons.Add(new Person() { ID="0001",Name="Kingtiger" }); persons.Add(new Person() { ID = "0002", Name = "Wang" }); persons.Add(new Person() { ID = "0001", Name = "Biao" }); persons.Add(new Person() { ID = "0004", Name = "WangBiao" }); var q8 = from p in persons orderby p.ID, p.Name select p;//多级排序,先排序ID,然后再排序Name var q9 = persons.OrderBy(a => a.ID).ThenBy(a => a.Name).Select(a => a);//直接两个排序 var qt = from p in persons where p.Name.Contains("W") || p.Name.Contains("Biao") select p;//第一次查询进行过滤 var q10 = from p in qt orderby p.Name descending select p.Name;//对一次查询结果进行第二次处理 var q11 = from p in persons group p by p.ID into cg select new { GroupID = cg.Key, GroupCount= cg.Count() };//分组查询,将结果提取出来 List<Order> orders = new List<Order>(); orders.Add(new Order() { UserID="0002",OrderID="001", OrderName="苹果" }); orders.Add(new Order() { UserID = "0002", OrderID = "003", OrderName = "香蕉" }); orders.Add(new Order() { UserID = "0004", OrderID = "002", OrderName = "荔枝" }); var q12 = from p in persons join o in orders on p.ID equals o.UserID select new { PName = p.Name, POrderName = o.OrderName }; foreach (var p in q12) { Response.Write(p+"<br/>"); } } } public class Person { public string ID { set; get; } public string Name { set; get; } } public class Order { public string OrderID { set; get; } public string OrderName { set; get; } public string UserID { set; get; } }
相关文章推荐
- 综合应用WPF/WCF/WF/LINQ之四:创建一个StateMachineWorkflow 推荐
- 综合应用WPF/WCF/WF/LINQ之十七:关于简化发布新版本的步骤的问题
- Json+jquery+asp.net 综合应用实例
- Java入门基础篇之运算符(综合应用实例)
- 3.7 Struts2综合应用实例的附件
- 综合应用WPF/WCF/WF/LINQ之一:DEV-WOW 作品源代码公布
- 综合应用WPF/WCF/WF/LINQ之三十:代码生成器之DBMLToDAL
- 综合应用WPF/WCF/WF/LINQ之三十八:实现一个简单的DataGrid之总体介绍
- Java入门基础篇之运算符(综合应用实例)
- 3.7 Struts2综合应用实例--添加学生信息
- 深入浅出VC++串口编程(六) 综合实例之短信应用开发
- 综合应用WPF/WCF/WF/LINQ之三十五:解决CheckListBox控件中选择项丢失的问题
- 综合应用WPF/WCF/WF/LINQ之三十九:实现一个简单的DataGrid之获取某格的原始(或当前)行(或列)的Index
- 第三十讲 : 综合应用&存储过程 返回值参数实例
- 综合应用WPF/WCF/WF/LINQ之三十一:代码生成器之ContractToBLL
- Linux内核同步机制的自旋锁原理及综合应用实例
- 综合应用WPF/WCF/WF/LINQ之四十:实现一个简单的DataGrid之CheckBox已勾选的项的保存
- JSP简单练习-包装类综合应用实例
- Spring.NET企业架构实践之 JQuery + FlexiGrid + ASP.NET MVC + NVelocity + WCF + LINQ + NHibernate 综合应用
- 综合应用WPF/WCF/WF/LINQ之三:采用用代码创建的方式实现CheckListBox的CustomControl