.NET 8.0'daki yenilikler [7]: C# 12.0'daki lambda ifadelerinde isteğe bağlı parametreler

Adanali

Member
C# 3.0'dan başlayarak lambda ifadesi, anonim bir yöntem için çok kısa bir gösterimdir. Ancak lambda işlevleri, C# 12.0'dan önce isteğe bağlı parametrelere izin vermiyordu. Bu durum C# 12.0'da değişti.

Duyuru








Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla çok sayıda orta ve büyük ölçekli şirketi danışmanlık, eğitim ve yazılım geliştirme yoluyla destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.







Örnek: isteğe bağlı parametreli bu işlev yerine z


public decimal Calc(decimal x, decimal y, decimal z = 1)
{
return (x + y) * z;
}



Aşağıdaki lambda ifadesine artık C# 12.0'da da izin verilmektedir:


var calc = (decimal x, decimal y, decimal z = 1) => (x + y) * z;


Bu aynı zamanda lambda talimatlarıyla da çalışır. İsteğe bağlı parametreli bu yöntem yerine color


public void Print(object text, ConsoleColor? color = null)
{
if (color != null) Console.ForegroundColor = color.Value;
Console.WriteLine(text);
if (color != null) Console.ResetColor();
}



Bu Lambda ifadesi artık gerçekleşebilir:


var Print = (object text, ConsoleColor? color = null) =>
{
if (color != null) Console.ForegroundColor = color.Value;
Console.WriteLine(text);
if (color != null) Console.ResetColor();
};




(kendim)



Haberin Sonu
 
Üst