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>

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

相关推荐
咩咩啃树皮6 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny6 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹6 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny6 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
-银雾鸢尾-7 小时前
C#中的StringBuilder相关方法
开发语言·c#
小林ixn7 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
-银雾鸢尾-7 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
REDcker7 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜8 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康8 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端