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

关于LINQ的一个有关问题,以直没弄明白

2013-09-08 
关于LINQ的一个问题,以直没弄明白就是 这个符号是什么意思?[解决办法]可以理解为左侧的参数传给右侧的语

关于LINQ的一个问题,以直没弄明白
就是=> 这个符号是什么意思?


[解决办法]
可以理解为左侧的参数传给右侧的语句。
[解决办法]
这是 lambda 运算符 

例如,lambda 表达式 x => x * x 指定名为 x 的参数并返回 x 的值计算的。


http://msdn.microsoft.com/zh-cn/library/vstudio/bb397687.aspx
[解决办法]
(int x) => x //实际上int可以不写
相当于定义了这样一个函数:
int myfunc(int x)
{
    return x;
}
p => p.id == 1
相当于
bool myfunc(Product p)
{
    return p.id == 1;
}
[解决办法]
你也可以把一个函数写成Lambda
比如:
int Sum(int max)
{
    int result = 0;
    for (int i = 1; i <= max; i++)
    {
        result += i;
    }
    return result;
}
void Main()
{
    Console.WriteLine(sum(100)); // 5050
}

也可写成
void Main()
{
    Func<int, int> sum = max => 
    {
        int result = 0;
        for (int i = 1; i <= max; i++)
        {
            result += i;
        }
        return result;
    };
    Console.WriteLine(sum(100)); // 5050
}
此时不需要额外定义那个sum函数了。
[解决办法]


参数=>函数体  就是个匿名委托

热点排行