簡體   English   中英

C#將字符串的一部分視為var

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM