【发布时间】:2018-11-20 20:49:25
【问题描述】:
有没有办法在 C# 中像这样格式化空白?
我想知道你是否可以将字符串数组解析为一个方法并让它返回一个带空格的格式化字符串,我需要一种特定的方式来完成此操作这是一个示例:强>
string[][] StringArray = new string[][] {
new string[] {"Name:", "John Jones."}
new string[] {"Date of birth:", "07/11/1989."}
new string[] {"Age:", "29 Years old."}
};
FormatWhiteSpace(StringArray, Padding: 5);
输出将是:
Name: John Jones.
Date of birth: 07/11/1989.
Age: 29 Years old.
正如您在上面的输出中看到的那样,所有内容都排成一行,并有 5 个空格用于填充,正如我们调用该方法时所定义的那样。这正是我们想要的。我们还有一个二维数组,因为它允许我们一次解析超过 1 行。 这是另一个示例,这次有两列以上:
string[][] StringArray = new string[][] {
new string[] {"Name:", "John", "Jones."}
new string[] {"Date of birth:", "Monday,", "07/11/1989."}
new string[] {"Age:", "29", "Years old."}
};
FormatWhiteSpace(StringArray, Padding: 2);
第二个输出是:
Name: John Jones.
Date of birth: Monday, 07/11/1989.
Age: 29 Years old.
如果您知道任何可以提供帮助的信息,我只想知道这些 请告诉我。谢谢你的帮助,你们真的让我 天。
【问题讨论】:
-
如果您询问是否有内置的方法来执行此操作,那么答案是否定的,但您显然可以编写符合您要求的代码;
string.PadRight看起来是个不错的起点。 -
我在问是否有人知道如何。我想要一种内置的方式,但如果没有,那么我在问是否有人可以创建代码或指导我创建它。并感谢您的建议。
-
这里不是人们为你写代码的地方。在这里,您可以询问代码中您不知道如何解决的特定问题。
-
通过主(行)数组进行两次传递。在第一次通过时,创建第二个集合,该集合由每列的最大宽度组成。在第二次通过时,输出使用有关其所在列的最大宽度的信息填充的每个字符串(加上一些额外的)。
标签: c# formatting whitespace