[英]C# Treat part of string as var
我有一個字符串(來自外部文本文件),其中包含與現有變量相對應的單詞。 有什么辦法用變量的內容替換單詞? 也許用{}括住單詞?
例如,在偽代碼中,這是:
string var1 = "Works";
string from_text = "It {var1}!";
會導致“成功!”
編輯:我不知道在外部文本文件中使用什么變量。 可以像示例中一樣是var1,也可以是var24123或int2312。 因此,必須是動態的:D
從C#6.0開始,這實際上是可能的。 這稱為字符串插值 。 大多數示例使用在編譯時已知的格式字符串:
string from_text = $"It {var1}!";
但是,也可以使用FormattableString
創建動態字符串:
var formattableString = new FormattableString() {
Format = "It {var1}!",
Args = new object[] { var1 }
});
string from_text = formattableString.ToString();
您可以使用: string from_text = string.Format("It {0}!", var1);
在C#6中,您可能可以使用新的nameof
運算符:
string var1 = "Works";
string from_text = "It {var1}!";
string replaced = from_text.Replace("{" + nameof(var1) + "}", var1);
但是我不確定這有多有用。
在C#6之前的版本中: string from_text = string.Format("It {0}!", var1);
在C#6中: string from_text = $"It {var1}!";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.