当前位置:首页 > 服务端 > 关于委托Lamda表达式等的一个小例子

关于委托Lamda表达式等的一个小例子

using System;
using System.Drawing;

public class Example
{
    public static void Main()
    {
        // Create an array of five Point structures.
        Point[] points = { new Point(100, 200),
            new Point(150, 250), new Point(250, 375),
            new Point(275, 395), new Point(295, 450) };

        // To find the first Point structure for which X times Y
        // is greater than 100000, pass the array and a delegate
        // that represents the ProductGT10 method to the Shared
        // Find method of the Array class.
        //第一种写法
        Point first = Array.Find(points, new Predicate<Point>(Example.ProductGT10));
        //第二种写法
        Point first = Array.Find(points, p => { return p.X * p.Y > 100000; });
        //第三种写法
        Point first = Array.Find(points, p => p.X * p.Y > 100000);
        //第四种写法
        Point first = Array.Find(points, delegate(Point p) { return p.X * p.Y > 100000; });
        //第五种写法
        Point first = Array.Find(points, ProductGT10);

        // Note that you do not need to create the delegate
        // explicitly, or to specify the type parameter of the
        // generic method, because the C# compiler has enough
        // context to determine that information for you.

        // Display the first structure found.
        Console.WriteLine("Found: X = {0}, Y = {1}", first.X, first.Y);
       
        Console.Read();
    }

    // This method implements the test condition for the Find
    // method.
    private static bool ProductGT10(Point p)
    {
        if (p.X * p.Y > 100000)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

作者:落叶潇潇雨
来源链接:https://www.cnblogs.com/jackhuclan/archive/2012/02/07/2341016.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/125483.html

分享给朋友:

“关于委托Lamda表达式等的一个小例子” 的相关文章