c# =>什么意思
"=>"在C#中就叫做Lamda运算符,读作goes to
用处:msdn里面说用来将左侧的输入变量与右侧的lambda体分离。
左移操作符,将第一个操作数向左移动第二个操作数指定的位数,空出的位置补0。
左移相当于乘,左移一位相当于乘2;左移两位相当于乘4;左移三位相当于乘8。
如:
x<<1= x*2
x<<2= x*4
x<<3= x*8
x<<4= x*16
扩展资料:
C#的Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。语法如下:
(object argOne, object argTwo) => {; /*Your statement goes here*/}
函数体多于一条语句的可用大括号括起。
类型
可以将此表达式分配给委托类型,如下所示:
delegate int del(int i);
del myDelegate=x=>{return x*x;};
int j = myDelegate(5); //j=25
创建表达式目录树类型:
using System.Linq.Expressions;
//...
Expression <del>=x=>x*x;
=> 运算符具有与赋值运算符 (=) 相同的优先级,并且是右结合运算符。
参考资料来源:百度百科-Lambda表达式
g => g.Update(location) 的意思是一个函数,把这个函数按照传统方法展开是这个样子
void Func(GeoService g)
{
g.Update(location);
}
_geoServices.ForEach(g => g.Update(location)); 完全展开是这个样子
foreach(GeoService g in _geoServices)
{
g.Update(location);
}
ForEach是一个IEnumable的扩展方法,定义在其他地方,你没有列出来
兰姆达是.net 3.5的新语法
读作 “goes to”
就是把=>左边声明的变量带入到=>右边的表达式或者代码段里。
参考资料: http://msdn.microsoft.com/zh-cn/library/bb311046.aspx