文章分类 - Linq&Lambda
摘要:using System.Threading.Tasks; class Test{ static int N = 1000; static void TestMethod() { // Using a named method. Parallel.For(0, N, Method2); // Using an anonymous method. Parallel.For(0, N, delegate(int i) { // Do Work. }); //...
阅读全文
摘要:我们在用lambda 表达式的时候,经常会看到以如下:newFunc<in T, out TResult> 格式作为参数形式的扩展方法,比如:Where,Select,Join,GroupJoin ETC.转到函数定义: public delegate TResult Func<in T, out TResult>(T arg);发现Func 是通过委托机制实现的,同时还可以看出各个参数的输入、输出类型这对我们在调用这一系列扩展方法的时候如何正确的传递参数有一定的帮助。
阅读全文
摘要:在写LINQ语句的时候,往往会看到.AsEnumerable() 和 .AsQueryable() 。例如:string strcon = "Data Source=.\\SQLEXPRESS;Initial Catalog=Db_Example;Persist Security Info=True;User ID=sa;Password=sa";SqlConnection con = new SqlConnection(strcon);con.Open();string strsql = "select * from SC,Course where SC.Cno
阅读全文
摘要:/// /// 根据关键字Id获取关键字对象 /// /// nick /// campaignId /// adgroupId /// keywordId /// day /// record public DCKeyword GetKeywordByKeywordId(string nick, long campaignId, long adgroupId, long keywordId, DateTime day) { ...
阅读全文
摘要:mGroupPriceStandards.Skip(mStart * mLimt).Take(mLimt).ToList<PriceStandard>();在分页的时候必须先 Skip(跳过n条记录),然后再 Take(取n条记录),否则分页会出现错误,导致数据取不出来或取出来的数据不是预期要获取的数据。
阅读全文
摘要:// lambda 表达式 分组,并且分页 /// <summary> /// 获取所有组织机构数据(按价格名称分组) /// </summary> /// <returns></returns> public string PriceStandardSelectAllGroupBy() { IList<PriceStandard> mPriceStandards = new List<PriceStandard>(); IList<PriceStandar...
阅读全文
摘要:void FullOuterJoin() { var firstNames = new[] { new { ID = 1, Name = "John" }, new { ID = 2, Name = "Sue" }, }; var lastNames = new[] { new { ID = 1, Name = "Doe" }, ...
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace CRM.Web.TopTaobao.Extensions{ internal static class FullOuterExtensions { public static IDictionary<TK, IEnumerable<TV>> ToDictionary<TK, TV>(this IEnumerable<IGrouping<TK, TV>> g
阅读全文
摘要:join 子句(C# 参考)Visual Studio 2012其他版本此主题尚未评级-评价此主题使用join子句可以将来自不同源序列并且在对象模型中没有直接关系的元素相关联。唯一的要求是每个源中的元素需要共享某个可以进行比较以判断是否相等的值。例如,食品经销商可能具有某种产品的供应商列表以及买主列表。例如,可以使用join子句创建该产品同一指定地区供应商和买主的列表。join子句接受两个源序列作为输入。每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性。join子句使用特殊的equals关键字比较指定的键是否相等。join子句执行的所有联接都是同等联接
阅读全文
摘要://begin 剔除已经添加过的关键字 HashSet<string> mHashSet = new HashSet<string>(mKeywordUsingLst.Select(m => m.Word).Distinct()); List<RecommendWord> mRecommendWordLstExcepted = mRecommendWordLst.Where(m => mHashSet.Contains(m.Word) == false).ToList<RecommendWord>();...
阅读全文
摘要:IList<Department> mDepartmentLst = new List<Department>(); IList<Employee> mEmployeeLst = new List<Employee>(); mDepartmentLst.Add(new Department() { Id = 1, DeptNo = "001", DeptName = "开发部", IsBusiness = false }); mDepartmentLst.Add(new Department() { Id
阅读全文
摘要:http://msdn.microsoft.com/zh-cn/library/Bb311040(v=vs.100).aspx?appId=Dev10IDEF1&l=EN-US&k=k(JOIN_CSHARPKEYWORD)%3bk(TargetFrameworkMoniker-%22.NETFRAMEWORK,VERSION%3dV4.0%22)%3bk(DevLang-CSHARP)&rd=true IList<Department> mDepartmentLst = new List<Department>(); IList<Empl
阅读全文
摘要:Top/Bottom操作适用场景:适量的取出自己想要的数据,不是全部取出,这样性能有所加强。Take说明:获取集合的前n个元素;延迟。即只返回限定数量的结果集。var q = ( from e in db.Employees orderby e.HireDate select e) .Take(5);语句描述:选择所雇用的前5个雇员。Skip说明:跳过集合的前n个元素;延迟。即我们跳过给定的数目返回后面的结果集。var q = ( from p in db.Products orderby p.UnitPrice descending select p) .Skip(10);语句描述:选择10
阅读全文
摘要:LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量中被查询的值 [group by 条件]Lambda表达式的书写格式如下:(参数列表) => 表达式或者语句块其中: 参数个数:可以有多个参数,一个参数,或者无参数。参数类型:可以隐式或者显式定义。表达式或者语句块:这部分就是我们平常写函数的实现部分(函数体)。1.查询全部实例 Code 查询Student表的所有记录。 select * from student Linq: from s in Students ...
阅读全文

浙公网安备 33010602011771号