在C#中,$ 符号用于字符串内插(String Interpolation),这是一种简洁、可读性更高的方式来拼接字符串和表达式。
在字符串字面量前加上 $ 符号,即可将该字符串标识为内插字符串。
通过将变量、表达式或方法调用放在 {} 中,可以直接嵌入字符串中。例如:
var name = "Alice";
var message = $"Hello, {name}!";
Console.WriteLine(message); // 输出: Hello, Alice!
1、支持任意表达式:
内插字符串可以包含任何有效的C#表达式,如计算、方法调用等。
示例:
double a = 3, b = 4;
Console.WriteLine($"Area of the right triangle with legs of {a} and {b} is {0.5 * a * b}");
// 输出: Area of the right triangle with legs of 3 and 4 is 6
2、 格式化选项:
可以通过 :formatString 指定格式(如日期、数字格式),或使用 ,width 控制对齐。
示例:
var date = DateTime.Now;
Console.WriteLine($"Today is {date:yyyy-MM-dd}, time is {date:HH:mm}");
3、与原始字符串结合:
$ 可与 @ 符号结合使用(即 $@),创建内插的逐字字符串,适用于多行文本或SQL语句,同时保留换行和转义字符。
示例:
var sql = $@"INSERT INTO Users (Name, Age) VALUES ('{name}', {age})";
4、注意事项:
- 内插表达式必须用 {{ 和 }} 包裹,以避免与普通大括号冲突。
- 如果变量值为 null,会自动转换为空字符串。
- 在SQL等场景中,直接拼接可能引发注入风险,建议优先使用参数化查询。
5、场景
可读性更高:相比传统的 string.Format(),内插语法更直观易懂。
适用场景:日志输出、动态SQL构建、用户消息生成等需要频繁拼接字符串的场景。
981

被折叠的 条评论
为什么被折叠?



