Với các thành viên biểu hiện thân C# 6, tôi có thể viết:Làm cách nào để các thành viên biểu hiện phân biệt giữa khoảng trống và không có giá trị?
public string FullName => $"{_firstName} {_lastName}";
Và tôi có thể viết:
static void Print(string message) => Console.WriteLine(message);
Trong trường hợp đầu tiên, biểu thức trả về một cái gì đó. Trong lần thứ hai, nó không.
Điều gì đang xảy ra ở đây để xác định cách 'hành động' mà không cần thêm bất kỳ cú pháp nào? Hay đơn giản là một trường hợp nhìn vào chữ ký phương thức trong thời gian biên dịch?
Tôi không phải là một fan hâm mộ lớn của việc để lại những thứ để 'chỉ làm việc' mà không biết những gì đang xảy ra.
Tôi nghĩ rằng '$" ... "' chỉ là một phiên bản ngắn của 'String.Format (...)' mà không trả về một chuỗi '. – HimBromBeere
Đó là một tính năng khác của C# 6 được gọi là nội suy chuỗi. Có lẽ tôi đã lúng túng vùng biển bằng cách sử dụng nó như một đoạn thử nghiệm. Câu hỏi của tôi là nhiều hơn về cách cú pháp biểu thức quyết định những gì cần trả lại và khi nào. –
Trong ví dụ thứ hai của bạn kiểu trả về là 'void', phải không? Không có thêm trình biên dịch-quyết định về điều này. Tôi không thấy vấn đề của bạn. – HimBromBeere