2010-02-05 27 views
9

Tôi có thể làm điều gì đó như "%s said %s blah.", $name, $blah; trong VB.NET nó nhận được văn bản đau đớn name & "said" & blah & "blah"suy biến trong VB.NET

Trả lời

18

Yup, sử dụng String.Format:

Dim newString As String = String.Format("{0} said {1} blah.", name, blah) 
+0

ngọt ngào, cảm ơn: D – Harrison

16

Trong VB.NET 14 (đối với VS2015), bạn có thể sử dụng string interpolation:

Dim newString As String = $"{name} said {blah} blah." 
+1

Mọi người có thể nghĩ tại sao điều này có thể * không * cải tiến không? Tôi muốn nói với nhóm của tôi rằng đây là một cải tiến rõ ràng, nhưng tôi muốn chắc chắn rằng tôi không bỏ lỡ điều gì đó trước khi tuyên bố như vậy. –

+0

@ardave Nếu bạn có cơ hội cần quốc tế hóa sau này, bạn sẽ cần phải hoàn nguyên về lệnh gọi 'String.Format' để chuỗi định dạng có thể trở thành một biến hoặc hàm để truy xuất từ ​​tệp tài nguyên, v.v. –

+1

quốc tế hóa, bạn cũng có thể sử dụng một hàm trợ giúp có thể yêu cầu sửa đổi ít hơn đối với mã như được giải thích ở đây (http://weblogs.asp.net/bleroy/c-6-string-interpolation-is-not-a- templating-engine-and-it-s-not-new-string-format): 'Định dạng chuỗi công khai (FormattableString fs) { // Nhận phiên bản địa hoá của chuỗi ngôn ngữ mặc định: var localFormat = GetLocalized (fs.Format); // Nạp chuỗi định dạng kết quả vào String.Format: trả về String.Format (localFormat, fs.GetArguments()); } ' – bkqc