de cadena se immutable, que no se puede cambiar. PadRight
devuelve una nueva instancia de la cadena rellenada, no cambia la instancia desde la que se invocó. Lo que se quiere es la siguiente:
Trip_Name1 = Trip_Name1.PadRight(20,' ');
Hay un gran debate sobre this pregunta StackOverflow de por qué las cadenas son inmutables.
EDITAR:
Nada de esto parece funcionar. Sin embargo, puedo rellenar la cuerda con cualquier otro personaje.
¿Lo está reasignando como en el ejemplo anterior? Si ese es el caso - a continuación, sin más detalle sólo puedo pensar en lo siguiente:
- Si va a guardar esto en una base de datos y la recuperación de la misma, algunas bases de datos con los valores correctos pueden "Recorte" para usted.
- Tiene la lógica en otro lugar que está recortando los espacios en blanco. Esto es común cuando se trata de la entrada del usuario.
EDIT 2:
que debería haber sido más específico
Voy a tomar una conjetura salvaje basado en sus convenciones de nomenclatura que se trata con HTML/ASP.NET. En la mayoría de los casos, en HTML - white space is collapsed. Por ejemplo:
<div><a>Hello World</a></div>
<div><a>Hello World</a></div>
Tanto de las etiquetas a
rendirá el mismo porque el espacio en blanco se derrumbó. Si realmente trabajas con HTML, esa es tu razón y por qué el relleno funciona para todos los demás personajes. Si realiza una fuente de vista del marcado rendido, ¿contiene los espacios en blanco adicionales?
Si desea mantener los espacios en blanco, intente aplicar un estilo CSS en su elemento llamado white-space
y configúrelo en pre
. Por ejemplo:
<a style="white-space:pre">hello world </a>
Eso hará que se preserve el espacio en blanco. Tenga en cuenta que el uso de espacios en blanco como este tiene desventajas. Los navegadores no los representan de manera idéntica, etc. No los usaría para propósitos de diseño.Considere usar CSS y algo así como min-width
en su lugar.
¿Qué es 'Trip_Name1' en sus pruebas? ¿Cuál es el valor de retorno de esos métodos (es decir, qué significa que * "no funciona" *)? Y sabe que estos métodos no modificarán el valor de 'Trip_Name1', ¿verdad? –
¿Puede proporcionar el código de muestra? Por cierto, las cadenas son inmutables y debe reasignar el valor del resultado después de rellenar –
Debería haber sido más específico, aquí está el código completo: lnk_showmatch_1.Text = u_trip.Trip_Name1.PadRight (20, ''); – Bruce