C#内插字符串:一种让代码更美观的方式

C#内插字符串:一种让代码更美观的方式

编码文章call10242025-02-01 3:39:1120A+A-

C#中的内插字符串就是采用了 "$"{...}" 这样的结构,可能有朋友在我以前的例子中也看到过,这是一个很方便的直观地写法,具体怎么用的呢?

通过这种方式内插,可以直接在字符串中嵌入各种表达式,无论是变量、函数还是逻辑运算,都能轻松应对。极大地提升了代码的可读性,还使得编写字符串变得前所未有的便捷。

来看一个非常便捷的方式来格式化字符串的例子:

string 姓名 = "代码领域的诗人XY";
int 年龄 = 40;
DateTime 当前日期 = DateTime.Now;
// 使用字符串内插
Console.WriteLine($"你好,{姓名},你今天{年龄}岁了,今天是{当前日期:yyyy年MM月dd日}。");

这里就使用了C#的字符串内插特性来构建一个包含变量姓名、年龄和当前日期的字符串。

看显示效果:

日期也是以符合中文习惯的格式显示。效果非常不错!

内插字符串的另一个重要而且非常有用的特点是,允许对插入内容进行对齐和格式化。

内插表达式项的结构为:

{[,][:]},
其中  是必需的,用于指代要插入的表达式,
 是可选的对齐宽度,
 则用于格式化表达式结果。

例如这个例子:

            string name = "代码领域的诗人XY";
            int age = 40;
            DateTime currentDate = new DateTime(2023, 3, 25, 14, 30, 0);
            Console.WriteLine($"|{name,-10}|{age,5:N0}|{currentDate,20:yyyy-MM-dd HH:mm:ss}|");
             Console.WriteLine($"|{name,-10}|{age,5:N0}|{currentDate:yyyy年MM月dd日 HH时mm分ss秒}|");


可以看到:name 左对齐并预留了至少10个字符的宽度,age 以整数格式居中显示并预留了至少5个字符的空间,而 C u r r e n t Date 则是右对齐,并按需要的格式显示的极为整洁。

内插字符串还考虑了特殊情况,如在文本中包含大括号时,需要使用双重大括号 {{ 和 }} 来转义。

此外,如果在内插表达式中需要用到条件运算符,由于冒号 : 有特殊含义,因此需要将整个表达式用括号包裹。

这里我就不介绍了,朋友们可以自己测试查看。

内插字符串非常适用于打印日志、构造HTTP请求、SQL查询等各种需要动态生成字符串的场合,你了解了吗?欢迎和我讨论。


点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4