[英]C# Format String
C# 可以格式化字符串,例如 $"string {a} {b} {c}" 以將變量 a、b 和 c 替換為字符串。
var a = "string1";
var b = "string2";
var c = "string3";
var d = $"string {a} {b} {c}"; // become "string string1 string2 string3"
可以將格式字符串存儲到變量中,以便我可以動態創建字符串模板。
var a = "string1";
var b = "string2";
var c = "string3";
var template = "string {a} {b} {c}";
var d = $template; // Can I do this?
謝謝!
您應該使用string.Format
:
var a = "string1";
var b = "string2";
var c = "string3";
var template = "string {0} {1} {2}";
var d = string.Format(template, a, b, c);
是的,很可能您正在使用一個字符串並將其格式化以填充變量,就像使用任何語言一樣。
在 C# 中可以這樣做
var a = "string1"; // first string
var b = "string2"; // second string
var c = "string3"; // third string
var d = "string {0} {1} {2}"; // string to format (fill with variables)
// formatting the string
var template = string.Format(d, a, b, c);
// output -> "string string1 string2 string3"
您可以使用String.Format
來實現這一點。
var a = "string1";
var b = "string2";
var c = "string3";
var template = "string {0} {1} {2}";
var d = String.Format(template, a,b,c);
我認為一個不錯的候選者是string.Format
,但您也可以使用花哨的FormattableStringFactory
。
var a = "string1";
var b = "string2";
var c = "string3";
var template = "string {0} {1} {2}"; //Please note, not {a}, but {0}
var str = string.Format(template, a, b, c); // Preferred
// From System.Runtime.CompilerServices
var str2 = FormattableStringFactory.Create(template, new object[] { a, b, c });
如果您想保留“ {a}
”(不是“ {0}
”),那么string.Replace
可以提供幫助。
var d = template
.Replace('{a}', a);
.Replace('{b}', b);
.Replace('{c}', c);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.