Trong Visual Studio 2015, khi tôi đi để viết một chuỗi suy trong một biến bằng cách gõ một mở xoăn khung '{', để đạt được những điều sau đây:Tại sao Visual Studio tạo dấu ngoặc kép cho các chuỗi nội suy C# 6?
var a = $"{}";
một khung kết thúc thứ hai được tự động chèn vào, màu đỏ hoặc hồng, như vậy
var a = $"{}}"
Sau khi chèn một biến bên trong dấu ngoặc '{}' và cố gắng để biên dịch, Visual Studio ném một lỗi: "CS8086: A '}' nhân vật phải được thoát ra (bằng cách tăng gấp đôi) trong một chuỗi nội suy. Điều này có ý nghĩa, nhưng không giải thích tại sao thứ hai '}' xuất hiện ngay từ đầu! Tôi không muốn viết một ký tự '}'; Tôi chỉ muốn viết một chuỗi nội suy thường xuyên - một '}' cho một '{'. Mỗi lần tôi sử dụng các chuỗi nội suy, tôi buộc phải loại bỏ thủ công khung đóng thứ hai bất thường này để biên dịch thành công.
Nghiêm túc nhất, nó dường như không xảy ra mọi lúc. Nếu bạn xóa '{}}' khỏi chuỗi nội suy của mình và nhập lại '{' một lần nữa, bạn sẽ kết thúc bằng '{}' - giống như bạn mong đợi ở vị trí đầu tiên.
Có gì với hành vi này?
Đây không phải là chủ đề. Trung tâm trợ giúp tuyên bố rõ ràng rằng các câu hỏi có thể xuất hiện "các công cụ phần mềm thường được các lập trình viên sử dụng" –
VS2015 RTM có rất nhiều lỗi trình soạn thảo và các thuật ngữ nhưng đây không phải là một trong số chúng. Bạn sẽ phải tìm một bổ trợ làm điều này và gửi một lỗi tại chủ sở hữu. –