Sé que estoy en peligro aquí, pero no pude encontrar en SO / Google:

Usando la interpolación de cadenas, ¿cómo relleno con un carácter dado? por ejemplo:

foreach (var p in people) {
    Console.WriteLine($"{p.Name:10}: {p.Age}");
}

Dará como resultado (por ejemplo):

Joe       : 26
Dan       : 52

¿Cómo cambio los espacios con puntos, mediante interpolación de cadenas ? Llegar:

Joe.......: 26
Dan.......: 52

(Sé que puedo hacer p.Name.PadRight(10,'.'), pero estoy bastante seguro de que hay una forma con los parámetros de interpolación de cadenas, como la longitud de relleno).

10
Tar 16 oct. 2018 a las 20:42

2 respuestas

La mejor respuesta

Examinar Documentos de Microsoft para el componente de alineación para el formato de cadena, encontré este pequeño extracto.

Si es necesario rellenar, se utilizan espacios en blanco.

Estás atascado con espacios en blanco si vas a utilizar la interpolación de cadenas. Como señaló anteriormente, string.PadRight() será suficiente como solución.

3
AntiTcb 16 oct. 2018 a las 19:03

@Tar, ¿por qué no intentas esto?

var paddingWithChar = new string ('.', lengthOfPaddingAsInt); 

Console.WriteLine ($"{p.Name}{paddingWithChar}:{p.Age,10}");
2
FreedomOfSpeech 16 oct. 2018 a las 18:26