马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
上一期:
C#格式化输出-CSDN博客
字符串插值
字符串插入功能,使得我们可以更直观地嵌入表达式到字符串中,只需要在字符串前加上$符号即可实现这一点。着中国方法不仅进步了代码的可读性,而且简化了字符串构造的过程。
利用Insert方法
当需要一个已有的字符串中插入新的子串时,可以利用String.Insert方法;该方法接受两个参数:一是要插入的位置索引(从0开始),二是要插入的字符串内容。
- string original = "20250113";
- string withYear = original.Insert(4, "年");
- Console.WriteLine(withYear); // 输出: 2025年0113
复制代码 该例子中original.Insert(4,“年”)将“年”插入到original字符串的第5个字符之前(由于索引是从0开始的),从而得到一个新的字符串withYear。
在这里需要留意在C#中的字符出啊是不可变的对象,因此每次调用Insert方法都会创建一个新的字符串实例,而不会修改原始字符串。如果频仍地对同一个字符串举行多次插入利用,可能会导致性能问题,这是可以考虑利用StringBuilder类来优化。
内插字符串
内插字符串的基础
自C# 6.0起引入了字符串插值的功能,允许我们以更直观的方式将变量和表达式嵌入到字符串中。只需在字符串前加上 $ 符号即可启用这种特性。
- var name = "Alice";var greeting = $"Hello, {name}!";Console.WriteLine(greeting); // 输出: Hello, Alice!
复制代码 这里,{name} 被视为一个占位符,它会被变量 name 的实际值所替代。除了简单的变量替换外,还可以直接在大括号内编写任何有效的C#表达式。
格式化选项
对于数值、日期时间等类型的数据,可以通过添加格式字符串来控制输出格式。这可以通过在表达式后紧跟冒号(:)和格式说明符来实现。
- var price = 56.67m;
- Console.WriteLine($"The price is {price:C}."); // 输出: The price is $56.67.
复制代码 这里的 {price:C} 表示将 price 变量按照钱币格式输出,详细的表现情势会根据当前的文化设置自动调整。
对齐与字段宽度
有时我们盼望控制输出文本的对齐方式或设置最小字段宽度,这时可以在表达式后利用逗号(,)反面跟上一个整数表示宽度。正数表示右对齐,负数则代表左对齐。
- Console.WriteLine($"|{"Left",-7}|{"Right",7}|");
复制代码 这段代码创建了一个表格样式的输出,此中 "Left" 左对齐且占用7个字符的空间,而 "Right" 则右对齐同样占据7个字符的空间。如许的功能非常适实用于制表或者报告天生等场景。
内插原始字符串字面量
从C# 11开始,支持团结 $ 和 @ 符号创建内插原始字符串字面量,这意味着可以在多行字符串中利用字符串插值而不必担心转义序列的问题。
- var pointMessage = $$"""
- The point "{X}, {Y}" is {Math.Sqrt(X * X + Y * Y):F3} from the origin
- """;
复制代码 这里的 $$"""...""" 定义了一个跨越多行的字符串,此中 {X}, {Y}, 和 {Math.Sqrt(X * X + Y * Y):F3} 都会被相应的表达式值所替代。这种语法特别适合于处理HTML、SQL查询或者其他结构化文本的情况。
字符串插值总结:
无论是通过 Insert 方法举行字符串插入,还是利用字符串插值(内插字符串)来构建动态字符串,都是非常有用的技能。前者实用于在现有字符串的特定位置添加新内容,而后者则提供了更加机动和易读的方式来构造包罗变量及表达式的字符串。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |