我试图添加空格结束在C#中的一串一串:填充使用PadRight方法
Trip_Name1.PadRight(20);
也试过:
Trip_Name1.PadRight(20,' ');
的这一切似乎工作。不过,我可以用任何其他字符来填充字符串。为什么?
我本来应该更具体,这里是全码:
lnk_showmatch_1.Text = u_trip.Trip_Name1.PadRight(20,' ');
我试图添加空格结束在C#中的一串一串:填充使用PadRight方法
Trip_Name1.PadRight(20);
也试过:
Trip_Name1.PadRight(20,' ');
的这一切似乎工作。不过,我可以用任何其他字符来填充字符串。为什么?
我本来应该更具体,这里是全码:
lnk_showmatch_1.Text = u_trip.Trip_Name1.PadRight(20,' ');
字符串被immutable,它们不能被改变。 PadRight
返回字符串填充的新实例,而不是改变一个它是从调用。你想要的是这样的:
Trip_Name1 = Trip_Name1.PadRight(20,' ');
有,为什么字符串是不可变的this的StackOverflow问题的大讨论。
编辑:
的这一切似乎工作。不过,我可以用任何其他字符来填充字符串。
你实际上重新分配给它像上面的例子吗?如果是这样的话 - 那么没有更详细的我只能想到以下几点:
编辑2:
我本来应该更具体
我会根据你所处理的HTML您的命名约定采取胡乱猜测/ ASP.NET。在大多数情况下,在HTML - white space is collapsed。例如:
<div><a>Hello World</a></div>
<div><a>Hello World</a></div>
无论是a
标签将呈现,因为空白被倒塌一样。如果你确实使用HTML - 这可能是你的理由,为什么填充适用于所有其它字符。如果你呈现的标记的查看源代码 - 它包含了额外的空格?
如果您想保留空格,请尝试在名为white-space
的元素上应用CSS样式,并将其设置为pre
。例如:
<a style="white-space:pre">hello world </a>
这将导致保留空白。请记住,使用像这样的空白有缺点。浏览器不会以相同的方式呈现它们等。我不会将其用于布局目的。考虑使用CSS,而不是像min-width
。
@ user554134 - 我根据您的更新进行了一些更改。 – vcsjones
谢谢先生,白色空间:pre做到了! – Bruce
不适用于我。同样的问题var str = INRECField.PadRight(11,'')+ INRECAccess.ToString(“MMddyy”)+ INRECSerial.PadRight(12,'')+ INRECSerial.PadRight(14,'')+ INRECAccessCode .PadRight(5,''); str = str.PadRight(32,''); – user2831855
请记住,这种方式不适用于任何字符串操作功能,因为字符串是不可变的。他们只是返回一个新的字符串,而不是更新现有的实例。
PadRight返回左对齐字符中 此字符串通过填充它们与一个指定的Unicode字符 右侧,对于一个指定的总长度的新字符串。
string Trip_Name1 = Trip_Name1.PadRight(20,' ');
编辑:
你的控制似乎修整结束空间。因此,请尝试为控件而不是文本设置填充。
什么是测试中的Trip_Name1?这些方法的返回值是什么(即*“似乎不起作用”*的意思)?你知道这些方法不会修改'Trip_Name1'的值,对吧? –
你能提供代码示例吗?顺便说一下,字符串是不可变的,你必须重新分配填充后的结果值。 –
我应该更具体,这里是完整的代码: lnk_showmatch_1.Text = u_trip.Trip_Name1.PadRight(20,''); – Bruce