簡體   English   中英

來自變量C#的插值字符串

[英]Interpolation string from variable c#

我試圖在C#中內插兩個字符串組合而成的字符串。 我在VS 2015中有以下代碼:

DateTime date = DateTime.Now;
string username = "abc";
string mask = "{date:yy}/{username}";

我想要的結果是:

18/abc

我知道我可以像這樣插值:

mask = $"{date:yy}/{username}"

但是遮罩也是輸入。 所以我需要這樣的東西:

string result = $"{mask}"

但結果是:

"{date:yy}/{username}"

掩碼實際上是從數據庫下載的,在每種情況下,信息序列可能會有所不同。 我需要將整個掩碼存儲在db中,並且僅在代碼中對其進行補充。 我不能像這樣使用String.Replace()方法

mask.Replace({date}, date.ToString())

因為我需要添加諸如:yy,:yyyy,:dd等的格式。

有可能這樣做嗎?

確定string.Format()

string mask = string.Format("{0:yy}/{1}", date, username);

字符串插值

string mask = $"{date:yy}/{username}";

您可以為此使用string.Format()

string mask = GetMaskFromDB(); //assume it returns "{0}/{1:yy}"
string username = "abc";
DateTime dt = DateTime.Now;

var result = string.Format(mask, username, dt);

結果:“ abc / 18”

參考: DotNetFiddle示例String.Format方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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