首页 新闻 会员 周边 捐助

lambda表达式不是太懂?这句怎么翻译?

0
悬赏园豆:20 [待解决问题]
class ExtensionMethods2
{

static void Main()
{
int[] ints = { 10, 45, 15, 39, 21, 26 };
var result
= ints.OrderBy(g => g);
foreach (var i in result)
{
System.Console.Write(i
+ " ");
}
}
}

一段代码

其中这句 ints.OrderBy(g => g);
g=>g是什么意思?输入一个g 输出一个g?g代表的是什么?

tytang的主页 tytang | 初学一级 | 园豆:110
提问于:2011-07-12 17:18
< >
分享
所有回答(4)
0

g代表一个int型的变量

artwl | 园豆:16736 (专家六级) | 2011-07-12 17:22
可以具体点吗?我想知道他是过程是怎样的。 g=》g 是把数组里面的数组 一个一个输入来排序吗?前面那个g和后面那个g意义一样吗?
支持(0) 反对(0) tytang | 园豆:110 (初学一级) | 2011-07-12 17:31
是一样的
支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-07-13 09:08
0
var result = ints.OrderBy(g => g);

也可以写成为:

var result = ints.OrderBy(delegate(int g) { return g; });

 

看看下面的代码,说不定对你有帮助:

 

class Person
{
public int Age { get; set; }
}


var persons
= new Person[]{
new Person { Age = 20},
new Person { Age = 10},
new Person { Age = 80},
new Person { Age = 5},
};
var result
= persons.OrderBy(person => person.Age);
鹤冲天 | 园豆:2379 (老鸟四级) | 2011-07-12 17:31
您好,g是指的是 这个数组里面的其中一个数字吗? 他返回的是一个数字,那他是把所有的数据里面的全部遍历了再排序还是输入一个排一次?
支持(0) 反对(0) tytang | 园豆:110 (初学一级) | 2011-07-12 17:33
我修改了答案,看看后面添加的部分,有助理解。
支持(0) 反对(0) 鹤冲天 | 园豆:2379 (老鸟四级) | 2011-07-12 17:40
0

g代表数组中的一个元素,这个g可以用任意除了C#关键词都可以命名

慧☆星 | 园豆:5722 (大侠五级) | 2011-07-13 08:55
lambda表达式 是委托的另一种写法
支持(0) 反对(0) 慧☆星 | 园豆:5722 (大侠五级) | 2011-07-15 09:33
0
.豆包 | 园豆:235 (菜鸟二级) | 2011-07-20 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册