public static string FillSpace(string inputText, int outLength, char alternate, FillPosition fillPosition) { while (inputText.Length < outLength) { switch (fillPosition) { case FillPosition.Front: inputText = alternate + inputText; break; case FillPosition.Back: inputText += alternate; break; } } return(inputText); }
/// <summary> /// Preenche uma string com o caracter informado. /// </summary> /// <param name="text">Texto a ser complementado</param> /// <param name="finalLength">Tamanho final que o texto deverá ter..</param> /// <param name="letter">Letra a ser usada para preencher o texto.</param> /// <param name="position">Em qual lado do texto a letra informada deverá ser usada para complementar o texto.</param> /// <returns>Retorna o texto original preenchido conforme o informado.</returns> public static string Fill(string text, int finalLength, char letter, FillPosition position) { if (text == null) { text = ""; } if (text.Length == finalLength) { return(text); } else if (text.Length > finalLength) { switch (position) { case FillPosition.Left: return(text.Substring(text.Length - finalLength)); default: return(text.Substring(0, finalLength)); } } else { aux.Clear(); aux.Append(text); int times = finalLength - text.Length; switch (position) { case FillPosition.Left: aux.Insert(0, letter.ToString(), times); return(aux.ToString()); default: aux.Append(letter, times); return(aux.ToString()); } } }