C#插值字符串中大括号表示方法

在 C# 的插值字符串($ 开头的字符串)中,表示大括号需要使用双重大括号

1. 基本用法

csharp 复制代码
// 表示单个大括号
string result1 = $"{{";          // 输出: {
string result2 = $"}}";          // 输出: }
string result3 = $"{{}}";        // 输出: {}

// 表示大括号包围的文本
string result4 = $"{{Hello}}";   // 输出: {Hello}

2. 结合插值表达式

csharp 复制代码
string name = "张三";
int score = 95;

// 正确:输出 {张三的成绩是95}
string message1 = $"{{{name}的成绩是{score}}}";

// 输出 JSON 格式
string json = $"{{ \"name\": \"{name}\", \"score\": {score} }}";
// 输出: { "name": "张三", "score": 95 }

3. 更复杂的例子

csharp 复制代码
// 输出格式化的大括号内容
for (int i = 1; i <= 3; i++)
{
    Console.WriteLine($"{{{i}}}");  // 输出: {1}, {2}, {3}
}

// 输出代码片段
string code = @$"public void Test()
{{
    Console.WriteLine(""Hello"");
}}";

// 字符串内同时使用插值和转义大括号
int x = 10, y = 20;
string result = $"和是 {{{x + y}}}";  // 输出: 和是 {30}

4. 注意事项

  • 奇数个大括号需要特别注意:

    csharp 复制代码
    // 错误!会编译错误,因为三个大括号解析有问题
    // string error = $"{{{";
    
    // 正确写法
    string correct = $"{{{"";  // 输出: {{
  • 顺序很重要 :从左到右解析,一对 {``{ 转义为一个 {

5. 实际应用场景

csharp 复制代码
// 生成模板字符串
string template = $"{{{0}}}";  // 可用于 string.Format 的模板
string formatted = string.Format(template, "值");  // 输出: {值}

// 生成 XML/HTML 属性
string value = "test";
string html = $"<div class=\"{value}\">{{content}}</div>";
// 输出: <div class="test">{content}</div>

记住规则 :在插值字符串中,使用 {``{ 表示字面量的 {}} 表示字面量的 }

相关推荐
夏幻灵1 天前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_1 天前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝1 天前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions1 天前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发1 天前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
程序员猫哥_1 天前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞051 天前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
我爱加班、、1 天前
Websocket能携带token过去后端吗
前端·后端·websocket
AAA阿giao1 天前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
心疼你的一切1 天前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask