2013-05-16 14 views

cevap

23

ikinci hala lambda sözdizimi gerektirir: İlk olarak

Func<string> g =() => { return "Hello, world!"; }; 

, etkili yazıyoruz:

Func<string, string> f = (x) => { return "Hello, world!"; }; 

Ama tanımlarken C# Eğer () atlanıp izin verir Sadece bir argüman varsa, bir lambda yerine x => yazmanızı sağlar. Bağımsız değişken yoksa, ()'u eklemelisiniz.

Bu, C# dili tarifnamenin bölümünde 7.15 belirtilir:

tek dolaylı yazılmış parametresi isimsiz bir işlev olarak, parantezler parametre listesinden atlanabilir. Diğer bir deyişle, form

(param) => bir anonim işlev

Sen işlevi tanımı bilmemiz gerekir

-2

İfade

param => kısaltılmış olabilir İfade:

bir parametre ve bir değeri o döndüren bir yöntem Kapsüller f TResult parametresi tarafından belirtilen tür.

Referanslar:

Microsoft

+0

'Func ' herhangi bir parametre alır ve bir dize döndürür bir fonksiyondur (Ya onun ikinci örnek kullandığını olan). – Servy

+0

Kullanıyor: http://msdn.microsoft.com/en-us/library/bb534960.aspx –