我正在从一个列表中获取数据,并将其导出到一个文本文件中。我已经完成了将其导出到CSV的功能,并且还想做一个纯文本版本。
因为标题和其他元素的长度是可变的,所以当保存文件并在记事本中打开时,它看起来像一团乱麻,因为没有任何东西排队。
我希望输出如下所示:
Sample Title One Element One Whatever Else
Sample Title 2 Element 2 Whatever Else
S. T. 3 E3 Whatever Else
我想我可以循环遍历每个元素,以获得最长元素的长度,这样我就可以计算要为每个剩余元素添加多少个空格。
我的主要问题是:* * 有没有一种优雅的方法可以将可变数量的字符添加到字符串中?**最好有这样的方法:第一个月
当然,我显然可以只写一个函数,通过循环来完成这个任务,但我想看看是否有更好的方法。
5条答案
按热度按时间w46czmvw1#
对于这个,您可能需要
myString.PadRight(totalLength, charToInsert)
。有关详细信息,请参见String.PadRight Method (Int32)。
new9mtju2#
使用
String.Format()
或TextWriter.Format()
(取决于实际写入文件的方式)并指定字段的宽度。您也可以在插值字符串中指定字段的宽度:
正如您所知,您可以使用适当的字符串构造函数创建重复字符的字符串。
dba5bblo3#
使用
String.Format
:在
{0,-20}
中,表示第一个参数具有固定长度20,负号保证字符串从左到右打印。dl5txlt94#
为了好玩,下面是我在使用.PadRight位之前编写的函数:
laawzig25#
我同意Justin的观点,可以使用**ASCII codes here * a引用空格CHAR,字符编号32表示空格,因此:
**另一种方法:**在自定义方法中手动创建所有空格,并调用:
并在代码中调用它来创建白色:获取空间(14);