首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

这两句代码如何也看懂,请进

2012-03-01 
这两句代码怎么也看懂,请进C# codeObservableCollectionUserControl Functions new ObservableCollect

这两句代码怎么也看懂,请进

C# code
ObservableCollection<UserControl> Functions = new ObservableCollection<UserControl>();var ctls = Functions.Where(u => u.GetType().FullName == ucName);

这里的u => u.GetType().FullName == ucName是什么意思呢,“=>”符号是什么意思呢
小弟看半天也没有琢磨明白,劳烦大家帮我解答下。

[解决办法]
“=>”是C#的Lambda表达式。

MSDN的解释如下:
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型。 

所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。Lambda 表达式 x => x * x 读作“x goes to x times x”。可以将此表达式分配给委托类型.


[解决办法]
ObservableCollection<UserControl> Functions = new ObservableCollection<UserControl>();
var ctls = Functions.Where(u => u.GetType().FullName == ucName);


u相当于是一个UserControl的实例
第二句的意思是查出Functions实体集合内的所有实体的FullName等于ucName的实体
[解决办法]
探讨

但是这个u在上下文中都没有定义,怎么可以这样用呢,搞不明白

[解决办法]
u本身并不是什么的缩写,更多的只是为了表示一个集合,用o、a等字母也可以
[解决办法]
有大神已经回复,我是来拜读的。
LZ可以结贴了。

热点排行