C# 字符串生成器,在C'中的右侧具有固定长度的字符和空格;
我需要字符串生成器帮助实现以下场景,我想创建DTA文档,以便C# 字符串生成器,在C'中的右侧具有固定长度的字符和空格;,c#,padding,stringbuilder,C#,Padding,Stringbuilder,我需要字符串生成器帮助实现以下场景,我想创建DTA文档,以便 var name = GetName() ---// Get the name from database Ex- "ABC Gmbh" StringBuilder _header = new StringBuilder(); _header.Append(string.Format("{0,4}", "0128")); _header.Append(string.Format("{0,20}", name )); 输出为“012
var name = GetName() ---// Get the name from database Ex- "ABC Gmbh"
StringBuilder _header = new StringBuilder();
_header.Append(string.Format("{0,4}", "0128"));
_header.Append(string.Format("{0,20}", name ));
输出为“0128----------ABC Gmbh”
但我需要像“0128ABC Gmbh------------”这样的输出
注-“-”指的是一个空白。所以我需要右边的剩余空格,而不是左边的您可以使用和,而不是String.Format
:
_header.Append("128".PadLeft(4, '0'));
_header.Append("ABC Gmbh".PadRight(20, ' '));
输出:
“0128ABC Gmbh”
终于找到了解决方法
var name=GetName()--//从数据库Ex“ABC Gmbh”获取名称
Format(“{0,-20}”,“ABC Gmbh”)将字符串ALIGN left side并将空格设置为right
Padright不是正确的方法,因为在这种情况下,每次字符长度都可能不同。使用StringBuilder还有一个AppendFormat方法…使用Padright,您可以提供固定长度的空格。这里的name是一个应该动态更改的变量。使用PadRight可以指定固定长度的空格。此处的名称可以是一个应动态更改的变量。所以我们不能说每个空间的马赫数time@Jayakaran:我不明白,
PadRight(20,”)
意味着它最多可以加20个空格,但前提是字符串的字符数较少。因此,如果字符串已经有19个字符长,则只会添加一个空格。
StringBuilder _header = new StringBuilder();
_header.Append(string.Format("{0,4}", "0128"));
_header.Append(string.Format("{0,-20}", name ));