2015-01-04 15 views
33

Tôi không thể lấy nội suy chuỗi để hoạt động. tin tức mới nhất từ ​​MS tôi thấy đượcĐịnh dạng cuối cùng cho nội suy chuỗi trong VS 2015 là gì?

http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx

Tuy nhiên tất cả những gì được cho là có không làm việc. Bất cứ ai biết nếu nội suy chuỗi làm cho nó vào VS 2015? Có tài liệu nào về nó không? Bạn có thể đưa ra ví dụ không?

Ví dụ, không ai trong số các định dạng làm việc (sửa):

int i = 42; 
var s = "\{i}"; // correction after jon's answer: this works! 
var s = $"{i}"; // compiler error 
var s = "{{i}}"; // no interpolation 

chỉnh sửa về VS 2015 CTP 6 (20.4.2015)

Phiên bản cuối cùng là

var s = $"{i}" 

cũng được hỗ trợ bởi phiên bản Resharper hiện tại ReSharper 9.1.20 150408.155143

Trả lời

49

hình thức đầu tiên của bạn đã làm việc trong VS2015 Preview:

int i = 42; 
var s = "\{i}"; 

Đó biên dịch và chạy cho tôi. ReSharper phàn nàn, nhưng đó là một vấn đề khác.

Đối với thức phát hành C#, nó là:

var s = $"{i}"; 
+0

đã xác nhận, chính xác như bạn nói. cảm ơn bạn! – citykid

+0

trông giống như intellisense đã hứa vẫn chưa hoạt động. – citykid

+1

Chính xác; dưới đây là phần mô tả tính năng mới nhất của PDF để tham khảo (xem Phần 5): https://www.codeplex.com/Download?ProjectName=roslyn&DownloadId=930852 – Gigi

13

Chuỗi suy là làm cho nó VS 2015. cú pháp mới nhất của nó (đó là chưa sẵn sàng cho xem trước, nhưng đã làm cho nó thành VS2015 CTP5) là thế này:

string s = $"{i}"; 

Nó cũng hỗ trợ là IFormattable kết quả bằng cách sử dụng lớp FormattableString:

IFormattable s = $"{i}"; 

Các tài liệu thiết kế mới nhất là ở đây: String Interpolation for C# (v2)

Bạn có thể kiểm tra trực tuyến bằng cách sử dụng phiên bản mới nhất Roslyn với http://tryroslyn.azurewebsites.net. Here's the specific example.

+0

thx để trả lời hữu ích và mang tính thông tin của bạn. YouCast thật tuyệt ;-) – citykid

+0

@citykid thanks. :) – i3arnon

Các vấn đề liên quan