如何在LinqPad中以表格形式输出或格式化数据?
在LinqPad中输出自定义表格的几种方法
针对你需要展示DateOnly.ToString()不同格式效果的需求,下面是几种实用实现方式:
方法1:使用匿名类型集合(推荐)
LinqPad会自动将匿名对象的集合渲染成带表头的规范表格,完全贴合你的需求:
// 定义测试日期 var testDate = new DateOnly(2022, 12, 27); // 创建包含格式说明和对应结果的对象集合 var formatTests = new[] { new { 格式字符串 = "ToString()", 格式化后的值 = testDate.ToString() }, new { 格式字符串 = "ToString(\"DD.MM.YYYY\")", 格式化后的值 = testDate.ToString("DD.MM.YYYY") }, new { 格式字符串 = "ToString(\"dd.MM.yyyy\")", 格式化后的值 = testDate.ToString("dd.MM.yyyy") } }; // 直接Dump输出,LinqPad自动生成表格 formatTests.Dump();
运行后会得到结构清晰的表格,表头对应匿名对象的属性名,数据行精准展示每个格式的结果。
方法2:输出Markdown格式文本
如果需要手动控制表格结构,可以直接构造Markdown字符串并Dump,LinqPad支持渲染Markdown内容:
var testDate = new DateOnly(2022, 12, 27); // 拼接Markdown表格字符串 var markdownTable = $@" | 格式字符串 | 格式化后的值 | | --- | --- | | ToString() | {testDate.ToString()} | | ToString(""DD.MM.YYYY"") | {testDate.ToString("DD.MM.YYYY")} | | ToString(""dd.MM.yyyy"") | {testDate.ToString("dd.MM.yyyy")} | "; // 输出并渲染为表格 markdownTable.Dump();
方法3:使用二维数组
正如你提到的,LinqPad可自动将二维数组转储为表格,这种方式也能实现需求:
var testDate = new DateOnly(2022, 12, 27); // 构造包含表头和数据的二维数组 var tableData = new[] { new[] { "格式字符串", "格式化后的值" }, new[] { "ToString()", testDate.ToString() }, new[] { "ToString(\"DD.MM.YYYY\")", testDate.ToString("DD.MM.YYYY") }, new[] { "ToString(\"dd.MM.yyyy\")", testDate.ToString("dd.MM.yyyy") } }; tableData.Dump();
内容的提问来源于stack exchange,提问作者Pavel Sapehin
相关产品推荐
相关产品推荐

