You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#/.NET5插值字符串中带冒号语法的名称及用法咨询

语法官方名称

该语法是C#插值字符串内插表达式的格式字符串组件,是插值字符串专属的语法结构。

运行原理

冒号后的内容只有写在插值字符串的{}包裹的内插表达式尾部时才会被编译器识别,单独写currentDate:t不属于C#合法独立语法,因此直接赋值会报错。
运行时,{表达式:格式字符串}的逻辑等价于调用对应表达式的ToString(格式字符串)重载(如果指定了全局格式提供器则会作为第二个参数传入)。你示例中的{currentDate:d}和{currentDate:t},本质就是分别调用currentDate.ToString("d")和currentDate.ToString("t"),其中d是DateTime类型预定义的短日期格式说明符,t是短时间格式说明符,最终输出的就是对应格式化后的字符串结果。

适用范围

该语法不局限于DateTime类型,所有实现了IFormattable接口的类型都可以使用该写法:

  • 数值类型(int、double、decimal等):可通过格式符实现货币格式化、小数位数固定、百分比显示等效果,示例:
var price = 199.9m;
Console.WriteLine($"{price:C}"); // 输出对应区域的货币格式,例如 ¥199.90
  • TimeSpan、Guid等系统内置类型:都有对应的预定义格式说明符可以直接调用
  • 自定义类型:只要自己实现IFormattable接口的ToString方法,自定义的格式规则也可以在插值字符串中通过该语法生效。

内容的提问来源于stack exchange,提问作者Monique Heinz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:15:02