JQuery C#表达式

C# Lambda表达式
Lambda表达式(Lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应其中的Lambda抽象(Lambda abstraction),是一个匿名函数,即没有函数名的函数。
C#的Lambda表达式都使用Lambda运算符=>,该运算符读为“goes to”。语法如下:
(object argOne, object argTwo)=> {/*Your statement goes here*/}
函数体多于一条语句的可用大括号括起。

一:参数
在Lambda表达式中,输入参数是Lambda运算符的左边部分。它包含参数的数量可以为0、1或者说大于1个。只有当输入参数为1时,Lambda表达式左边的一对小括弧中的多个参数之间使用逗号“ ,”分割。

示例1:
创建一个Lambda表达式,它的输入参数为0,该表达式将显示 “This is a Lambda expression” 字符串。
()=>Console.WriteLine(“This is a Lambda expression.”);
由于上述Lambda表达式的输入参数的数量为0,因此,该Lambda表达式的左边部分的一对小括弧不能被省略

示例2:
下面创建一个Lambda表达式,它的输入参数包含一个参数:m。该表达式将计算m参数与2的乘积。
m=>m*2;
上述Lambda表达式的输入参数省略了一对小括弧,它与“(m)=>m*2” Lambda表达式是等效的。

示例3:
下面创建一个Lambda表达式,它的输入参数包含m和n两个参数。该表达式将计算m和n参数的乘积。
二:表达式或语句块
多个Lambda表达式可以构成Lambda语句块。语句块可以放到运算符的右边,作为Lambda的主体。根据主体不同,Lambda表达式可以分为表达式Lambda和语句Lambda。语句块中可以包含多条语句,并且可以包含循环、方法调用和if语句等。

示例1:
下面创建一个Lambda表达式,它的右边部分是一个表达式。该表达式计算m参数的平方值。
m=>m*n;
如果Lambda表达式的右边部分是一个语句块,那么该语句块必须被 “{” 和 “}” 包围。

示例2:
下面创建一个Lambda表达式,它的输入参数包括m和n两个参数。该表达式的右边包含2个表达式:第一个表达式计算m和n参数的乘积,结果保存为result变量;第二个表达式显示result变量的值。
如果Lambda表达式的右边部分是一个语句块,那么语句块必须被 “{” 和 “}” 包围。
(m,n)=>{int result=m*n; Console. WriteLine(result);}
上述Lambda表达式的右边部分包含2个表达式,因此,该表达式的右边部分必须被 “{” 和 “}” 包围。

LINQ to SQL全称基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能。
Linq中where查询与SQL命令中的Where作用类似,都是起到范围限定,也就是起到过滤作用的,而判断条件就是它后面所接的子句。
目前需要注意的是,在LINQ中,查询变量本身不执行任何操作并且不返回任何数据,查询变量本身只是存储查询命令,它只是存储在以后某个时刻执行查询时为生成结果而必需的信息。此概念成为“延迟执行”。若要强制立即执行任意查询并缓存其结果,可以调用ToList()或ToArray()方法。
一:LINQ的基本语法包含如下的8个上下文关键字,这些关键字和具体的说明如下:
关键字 说明 
from 指定范围变量和数据源 
where 根据bool表达式从数据源中筛选数据 
select 指定查询结果中的元素所具有的类型或表现性 
group 指定查询结果按照键值进行分组(IGrouping<TKey,TELement>) 
into 提供一个标志符,它可以充当对join、group或select子句的引用 
orderby 对查询出的元素进行排序(ascending/descending) 
join 按照两个指定匹配条件来Equals连接两个数据源 
let 产生一个用于存储查询表达式中的子表达式查询结果的范围变量 
二:LINQ中的where查询
where子句,它是LINQ表达式的元素筛选机制,除了开始和结束的位置,它几乎可以出现在LINQ表达式的任意位置上。
在一个LINQ表达式中,可以有where子句,也可以没有;可以有一个,也可以有多个;多个where子句之间的逻辑关系相当于逻辑“与”,每个where子句可以包含一个或是多个bool逻辑表达式,这些条件成为“谓词”,谓词逻辑之间用的是“&&” 或 “||”等,而并不是SQL中的 “and” 和 “or” 等。
Where操作包括三种形式,分别为 “简单模式” “关系条件式” 以及 “First()” 三种形式 。下面分别用实例举例如下:
1. 简单形式:
例如:使用where筛选在伦敦的客户
Var q=
From c in db. Customers
Where c. City==”London”
Select c;

2. 关系条件形式:
筛选库存量在订货点水平之下但未断货的产品:
Var q=
From p in db. Products
Wherep. UnitsInStock <= p. ReorderLevel && !p. Discontinued
Select p;
下面这个例子是调用两次where以筛出UnitPrice大于10且已停产的产品。
Var q=
db. Products. Where(p=>p. UnitPrice>10m).Where(p=>p.Discontinued);

3. First()形式:
返回集合中的一个元素,其实质就是在SQL语句中加TOP (1)。
简单用法:选择表中的第一个发货方。
Shipper shipper = db. Shippers. First();
元素:选择CustomerID为“BONAP”的单个客户
Customer cust = db. Customer. First(c => c. CustomerID == “BONAP”);
条件:选择运费大于10.00的订单:
Order ord = db. Orders. First(o => o.Freight > 10.00M);


以上是我总结的简单的JQuery C#表达式的方法小技巧分享给各位小白,希望可以帮助到你们。以上就是我的分享,新手上道,请多多指教。如果有更好的方法欢迎在评论区教导喔!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值