Tại sao nội suy chuỗi trong C# không hoạt động với các chuỗi const? Ví dụ:Tại sao nội suy chuỗi không hoạt động với các chuỗi const
private const string WEB_API_ROOT = "/private/WebApi/";
private const string WEB_API_PROJECT = $"{WEB_API_ROOT}project.json";
Từ quan điểm của tôi, mọi thứ được biết đến lúc biên dịch. Hoặc là một tính năng sẽ được thêm vào sau này? nhắn
Compiler:
The expression being assigned to 'DynamicWebApiBuilder.WEB_API_PROJECT' must be constant.
Cảm ơn rất nhiều!
Chuỗi nội suy chỉ được chuyển thành lệnh gọi 'string.Format'. – juharr
Để giải quyết sự cố, thay thế 'const' bằng' readonly' –
@juharr: điều này không thực sự giải thích tại sao trình biên dịch không thể kiểm tra xem tham số bạn vượt qua có phải là hằng số có thể được sử dụng để khởi tạo hằng số này hay không. Nó được cho phép với các chuỗi ký tự xâu chuỗi. Vậy tại sao nó không được phép với các chuỗi ký tự kết hợp, trình biên dịch có thể sử dụng cùng một kỹ thuật. –