2016-04-18 41 views
6

:Bir lambda ifadesiyle kullanılmadığında => operatörü nedir? Geçen gün birinin kütüphanesinde bakıyordu ve bu vardı

internal static string BaseUrl => "https://api.stripe.com/v1"; 
public static string Invoices => BaseUrl + "/invoices"; 

sadece bir atama = operatörü gibi hareket => değil midir? Bu aynı olmaz: Bu daha önce hiç görmemiştim.

+0

Bir açıklama ... Haklısın, kütüphane kodlanmıştır yolu olduğunu, atama operatörü daha uygun olur. Şimdilik, mülkün anında anında hesaplanması gerekiyorsa, yalnızca bir operatör operatörü kullanamazsınız. * public static string CurrentDateTimeAsString => DateTime.Now.ToString() * – Colin

+0

Teşekkürler. Onu bulmak için çalıştı, ama ne diyeceğini bilmiyordum, bu yüzden hiçbir şey ortaya çıktı. – nhwilly

cevap

7

Bu, İfade gövdeli adı C# 6.0 yeni bir özellik olan gaz giderici sadece özellikleri ve gaz giderici gövdesi ifadesi vücut tarafından verilir dizinleyici tanımlamasına ve sözdizimsel bir şekerdir. Sen here daha okuyabilir

public static string Invoices 
{ 
    get 
    { 
     return BaseUrl + "/invoices"; 
    } 
} 

:

public static string Invoices => BaseUrl + "/invoices"; 

aynı mı.

Ayrıca bu sözdizimi ile de yöntemlerini tanımlayabilirsiniz:

public void PrintLine(string line) => Console.WriteLine(line);