Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Lambda ifadesi (
Belirteç =>
, iki biçimde desteklenir: lambda işleci olarak ve bir ifade gövdesi tanımında bir üye adı ile üye uygulaması arasında bir ayırıcı olarak.
Lambda işleci
Lambda ifadelerinde lambda işleci =>
sol taraftaki giriş parametrelerini sağ taraftaki lambda gövdesinden ayırır.
Aşağıdaki örnek, lambda ifadelerinin kullanımını göstermek için yöntem söz dizimi ile LINQ özelliğini kullanır:
string[] words = { "bot", "apple", "apricot" };
int minimalLength = words
.Where(w => w.StartsWith("a"))
.Min(w => w.Length);
Console.WriteLine(minimalLength); // output: 5
int[] numbers = { 4, 7, 10 };
int product = numbers.Aggregate(1, (interim, next) => interim * next);
Console.WriteLine(product); // output: 280
Lambda ifadesinin giriş parametreleri derleme zamanında kesin olarak yazılır. Derleyici önceki örnekte olduğu gibi giriş parametresi türlerini çıkarsayabildiğinde, tür bildirimlerini atlayabilirsiniz. Giriş parametrelerinin türünü belirtmeniz gerekiyorsa, aşağıdaki örnekte gösterildiği gibi her parametre için bunu yapmanız gerekir:
int[] numbers = { 4, 7, 10 };
int product = numbers.Aggregate(1, (int interim, int next) => interim * next);
Console.WriteLine(product); // output: 280
Aşağıdaki örnekte giriş parametreleri olmadan lambda ifadesinin nasıl tanımlanacağı gösterilmektedir:
Func<string> greet = () => "Hello, World!";
Console.WriteLine(greet());
Daha fazla bilgi için bkz . Lambda ifadeleri.
İfade gövdesi tanımı
İfade gövdesi tanımı aşağıdaki genel söz dizimine sahiptir:
member => expression;
Burada expression
geçerli bir ifadedir.
expression
'nin dönüş türü, üye fonksiyonunun dönüş türüne örtük olarak dönüştürülebilir olmalıdır. Üye:
- Dönüş türü
void
veya - Şudur:
- Yapıcı
- Sonlandırıcı
- Özellik veya dizin oluşturucu erişimcisi
set
expression
bir deyim ifadesi olmalıdır. İfade sonucunun göz ardı edilmesi nedeniyle, bu ifadenin dönüş türü herhangi bir tür olabilir.
Aşağıdaki örnekte bir yöntem için Person.ToString
ifade gövdesi tanımı gösterilmektedir:
public override string ToString() => $"{fname} {lname}".Trim();
Bu, aşağıdaki yöntem tanımının kısa bir sürümüdür:
public override string ToString()
{
return $"{fname} {lname}".Trim();
}
Yöntemler, işleçler, salt okunur özellikler, oluşturucular, sonlandırıcılar ve özellik ve dizin oluşturucu erişimcileri için ifade gövdesi tanımları oluşturabilirsiniz. Daha fazla bilgi için bkz. İfade gövdeli üyeler.
İşleç aşırı yüklenebilirliği
İşleç =>
aşırı yüklenemez.
C# dil belirtimi
Lambda işleci hakkında daha fazla bilgi için C# dil belirtimininAnonim işlev ifadeleri bölümüne bakın.