我有一個字符串(來自外部文本文件),其中包含與現有變量相對應的單詞。有沒有辦法用變量的內容替換單詞? 也許通過用{}括起單詞?C#將部分字符串視爲var
例如,在psudeo代碼,這: 「它工作的」
string var1 = "Works";
string from_text = "It {var1}!";
會導致
編輯:我不知道在外部文本文件中使用了哪些變量。可以像在這個例子中那樣是var1,也可以是var24123或者int2312。所以,必須是動態的:D
我有一個字符串(來自外部文本文件),其中包含與現有變量相對應的單詞。有沒有辦法用變量的內容替換單詞? 也許通過用{}括起單詞?C#將部分字符串視爲var
例如,在psudeo代碼,這: 「它工作的」
string var1 = "Works";
string from_text = "It {var1}!";
會導致
編輯:我不知道在外部文本文件中使用了哪些變量。可以像在這個例子中那樣是var1,也可以是var24123或者int2312。所以,必須是動態的:D
從C#6.0開始,這實際上是可行的。它被稱爲string interpolation。
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}!";
路線插值也正是我想要的東西:d非常感謝! – iScripters