Vb.net 带间距的行格式

Vb.net 带间距的行格式,vb.net,string.format,Vb.net,String.format,好的,我只是想让mail.body成为我的smtp电子邮件子部分看起来不错。到目前为止,我有以下代码: With myStringBuilder .AppendLine("Golfer Name" & vbTab & vbTab & vbTab & vbTab & "Average Quota") .AppendLine(vbCrLf) For Each row As DataRow In golfersTable.Rows

好的,我只是想让
mail.body
成为我的
smtp电子邮件子部分
看起来不错。到目前为止,我有以下代码:

With myStringBuilder
    .AppendLine("Golfer Name" & vbTab & vbTab & vbTab & vbTab & "Average Quota")
    .AppendLine(vbCrLf)

    For Each row As DataRow In golfersTable.Rows
       .Append(String.Format("{0,-10}{1,40}", row.Item("Golfer Name"), row.Item("Average Quota")))
    Next
End With

mail.Body = myStringBuilder.ToString
我正试图让两列在主体中对齐,这样看起来就很好了,到目前为止,结果如下:

Golfer Name                                          Average Quota


B                                                               20
J                                                              0
D                                                              28.375
C                                                               16.5

关于如何让它们完美地相互对齐,有什么想法吗?我对
String.Format()
没有太多的练习,所以很可能我把第二个参数弄错了。。。非常感谢您的帮助,谢谢

试试这个,我没有测试它,但希望它能让你走上正确的方向,并原谅任何打字错误。VB.NET不是我的母语

With myStringBuilder
    .AppendLine("Golfer Name" & vbTab & vbTab & vbTab & vbTab & "Average Quota")
    .AppendLine(vbCrLf)

    For Each row As DataRow In golfersTable.Rows
      .AppendFormat("{0,-10}{1}{1}{1}{1}{2:f3}", row["name"], vbTab, row["avgQuota"]).AppendLine()
    Next
End With

这将使数据与标题的间距相同。我使用C#所以我不确定标签在字符串中是如何表示的,所以我只使用{1}将标签放置4次,可能有更好的方法,在C#中,我会使用“\t\t\t”,但我不确定这在VB.NET中是否有效。

你在哪里使用
string.Format
?@false Omg lol,出于某种原因
string.Format()
在我复制它时被删除了。。哎呀,现在正在编辑中,谢谢你注意到
{2:f3}
意味着什么?我以前从未见过,在2选择第二个参数之后,它与{2}相同,在“:”之后,您可以指定字符串格式规范,而“f3”指示该项应格式化为带3位小数的浮点数。