C# 字符串格式化

写在前面

在日常编程中,经常需要对字符串进行格式化操作,以便呈现为不同的格式,满足各种各样的显示需求,C#的字符串格式化参数是非常丰富的,这里做个简单的列举,以供后续参考和延伸。

代码实现

cs 复制代码
var currentTime = DateTime.Now;

Console.WriteLine($"{currentTime:yyyy年MM月dd日 HH时:mm分:ss秒:ffff毫秒}"); // 日期格式化
Console.WriteLine(currentTime.ToString("yyyy-MM-dd HH:mm:ss:ffff"));
Console.WriteLine($"{currentTime:D}");
Console.WriteLine($"{currentTime:d}");
Console.WriteLine($"{currentTime:F}");
Console.WriteLine($"{currentTime:f}");
Console.WriteLine($"{currentTime:G}");
Console.WriteLine($"{currentTime:g}");
Console.WriteLine($"{currentTime:m}");
Console.WriteLine($"{currentTime:T}");
Console.WriteLine($"{currentTime:t}");

var left = "left";
var right = "right";
Console.WriteLine($"Span:{left,-20}|{right,20}");   // 左右对齐
Console.WriteLine($"Span:{left,-20}|{right,20}");
Console.WriteLine($"Span:{left,-20}|{right,20}");

var holder01 = "{holder01}";
var holder02 = @"\{holder02}";
Console.WriteLine($"holder01:{{{holder01}}}");
Console.WriteLine($"holder01:{{{holder02}}}");

var sex = 0;
Console.WriteLine($"{(sex == 0 ? "Male" : "Female")}");   // 表达式需要用()包起来

string? value = null;
Console.WriteLine($"value is {(value ?? "test value")}"); // 表达式需要用()包起来

var ob = new { name = "Lee", age = 11 };
Console.WriteLine($"name: {ob.name}, age: {ob.age}");     // 对象成员格式化

long num = 123456;
Console.WriteLine($"{num:D8}"); // 格式化成8位的十进制

Console.WriteLine($"{num:N2}"); // 格式化成保留2位小数并用千分位符号隔开的字符串

Console.WriteLine($"{num:C3}"); // 格式化成货币小数点保留3位

Console.WriteLine($"{num:X000}"); // 格式化成十六进制

Console.WriteLine($"{0.19:P}");  // 格式化百分比
Console.WriteLine($"{0.19:P1}");

执行结果

相关推荐
季明洵2 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
墨雪不会编程3 小时前
C++之【深入理解Vector】三部曲最终章
开发语言·c++
浅念-3 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
小宋10213 小时前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
一晌小贪欢3 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
阿猿收手吧!4 小时前
【C++】异步编程:std::async终极指南
开发语言·c++
小程故事多_804 小时前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
沐知全栈开发4 小时前
SQL 日期处理指南
开发语言
黎雁·泠崖4 小时前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖4 小时前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言