【问题标题】:Padding problem for text email using PadRight in C#在 C# 中使用 PadRight 的文本电子邮件填充问题
【发布时间】:2011-04-29 08:54:34
【问题描述】:

我有一个关于使用 C# .net 对文本电子邮件进行编码的问题,因为我有一个简单的 ASCII,但是在为用户格式化收据进行填充时,尽管当我检查说 NotePad++ 中的行时,数据没有对齐它们是完全相同的字符编号。下面是一些代码,谁能告诉我我做错了什么?

StringBuilder oSB = new StringBuilder(); oSB.AppendLine(EmailLine("金额", oTrans.PaymentAmount.ToString())); oSB.AppendLine(EmailLine("支付方式", oTrans.CardType)); 私有静态字符串 EmailLine(字符串 FieldLabel,字符串 FieldVal) { 返回 PadLabel(FieldLabel) + FieldVal ; } 私有静态字符串 PadLabel(字符串 FieldLabel) { 返回 FieldLabel.PadRight(40, char.Parse(" ")) + ": "; }

我的输出如下所示:

金额:100.00

付款方式:签证

【问题讨论】:

    标签: c# .net email formatting padding


    【解决方案1】:

    它们是否排列取决于用于显示电子邮件的字体。这是电子邮件客户端上的设置。例如,这是我在 Outlook 中设置的位置:

    尝试将 Notepad++ 中的字体更改为 Times new Roman 和 Courier,您会发现它们的排列方式不同。

    如果您将其作为计划文本邮件发送,则您无法控制用户的字体。您可以做到的最好的指示是“使用 ___ 字体阅读最佳”或将其格式化为您可以控制的 HTML。

    其他选项包括将其输出到 PDF 文件或图像(同样您拥有更多控制权)。

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      • 2012-11-22
      相关资源
      最近更新 更多