c# - 来自变量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 = GetMaskFromDB(); //assume it returns "{0}/{1:yy}"
string username = "abc";
DateTime dt = DateTime.Now;
var result = string.Format(mask, username, dt);
结果:“abc/18”
推荐阅读
- sql - 如何从 SQL 表中选择条目数中第 N 位的元素?
- mysql - 我如何通过使用 distinct 计算每个 productID 并单独显示
- java - 无法终止侦听端口 8080 的 java 进程
- javascript - 我可以使用 reduce 将数组转换为具有自定义键的对象数组并计算重复值吗?
- ios - NSImage/CGImage 切片扩展错误:CGImageCreateWithImageProvider:无效的图像大小:0 x 0
- php - Nginx 重写:将 .php 文件重定向到它的相关重写 url?
- angular - 当 Promise 不可用时,我如何将 BusyConfig.busy 与 Observables 关联?
- windows - 获取已存储为环境变量的文件的日期
- javascript - 如何将多个选择选项字段的值发送到控制器
- sql - 如何使用存储过程调用部署在服务器中的 SSIS 包