C#:$ 符号

在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构建、用户消息生成等需要频繁拼接字符串的场景。‌

相关推荐
EW Frontier13 分钟前
6G ISAC新范式:基于智能漏波天线的Wi‑Fi通感一体化系统设计与实测【附MATLAB+python代码】
开发语言·python·matlab·music·isac·doa·wi‑fi
隔壁的大叔15 分钟前
Markdown 渲染如何穿插自定义组件
前端·javascript·vue.js
楼田莉子22 分钟前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
薯老板23 分钟前
JavaScript原型,原型链
javascript
froginwe1131 分钟前
jEasyUI 创建基础树形网格
开发语言
愚者Pro1 小时前
Flutter基础学习
前端·javascript·vue.js
月昤昽1 小时前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
Victory_20251 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
时光足迹1 小时前
Tiptap 简单编辑器模版
前端·javascript·react.js
Cyber4K2 小时前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx