매일 조금씩 공부해요.net(5) 익명 방법을 이용한 Lambda 표현식(=>) 의뢰 실현

1797 단어 lambda
Lambda 표현식의 구문 형식은 매개변수 열=> 문 또는 문 블록입니다.
그것은 익명 함수다.이것은 위탁이나 표현식 디렉터리 트리 형식을 만드는 데 자주 사용되는 표현식과 문장을 포함한다
일반적으로 Lambda 표현식의 매개변수는 소프트 유형이며 컴파일러가 해당 매개변수의 특정 유형을 자동으로 결정합니다.그러나 컴파일러가 입력 형식을 추측하기 어렵거나 추측하기 어려울 때가 있습니다. 매개 변수에 지정한 형식을 표시해야 합니다. 매개 변수 앞에 매개 변수 형식을 추가해야 합니다.다음과 같은 Lambda 표현식에는 연결 매개변수 x 및 s가 포함됩니다.그 중에서 x는 int 형식이고 s는string 형식이다.
(int x, string s) =>s.Length > x
Lanbda 표현식에 매개변수가 없는 경우 아래와 같이 빈 괄호를 사용해야 합니다.여기서 "()"는 매개변수가 없음을 나타내고 Amethod()는 특정 메서드의 반환 값이 Lambda 표현식의 결과라는 의미입니다.
() => AMethod()
예:
using System;

using System.Threading;

public static class CancellationDemo

{

    public static void Main()

    {

        CancellationTokenSource cs = new CancellationTokenSource();

        ThreadPool.QueueUserWorkItem(o => Count(cs.Token, 1000));

     

        Console.WriteLine("press <Enter> key to stop he child thread");

        Console.ReadLine();

        cs.Cancel();

        Console.ReadLine();

     



    }

    private static void Count(CancellationToken token, int countTo)

    {

        for (int count = 0; count <= countTo; count++)

        {

            if (token.IsCancellationRequested)

            {

                Console.WriteLine("it is done by the main thread");

                break;

            }

            Console.WriteLine(count);

            Thread.Sleep(200);

        }

        Console.WriteLine("it is done");



    }

}


 ThreadPool.QueueUserWorkItem은 스레드 풀의 대기열에 비동기적이고 계산이 제한된 동작을 실행합니다.
ThreadPool.QueueUserWorkItem(Waitcallback Callback,Object state)
ThreadPool.QueueUserWorkItem(o => Count(cs.Token, 1000)) ,=> QueueUserWorkItem
o Object o, 。

좋은 웹페이지 즐겨찾기