У меня есть массив целых чисел, однако я хочу напечатать их в текстовое поле в моем приложении формы, чтобы они все выглядели одинаково по длине, и это выглядело аккуратно. Как бы я пошел о добавлении нуля в 100 целых чисел, присутствующих в моем массиве (в диапазоне значений от 1 до 1000) и выводе массива с добавлением нуля сразу в текстовое поле?

В настоящее время моя программа будет отображаться как:

1,2,...,1000

Однако я хотел бы иметь возможность сделать это следующим образом:

0001,0002,...,1000 .

Код, который я использую для печати в текстовое поле:

`array = new int[1000];    //create an array
 Random randNum = new Random();    //create an instance of random Number
 for (int i = 0; i < array.Length; i++)    //Generate random array
 {
      array[i] = randNum.Next(0, 1000);
 }
 SetupLabel.Text = (string.Join(" ", array));    //output all of the array at once as a string`

Любые идеи очень помогут, спасибо.

2 ответа2

0

Строки заполнения в .NET Framework

Используя String.PadLeft или (не применимо в вашем примере) String.PadRight . Ваш пример вывода также неверен, так как ваш код будет генерировать список, разделенный пробелами, а не запятыми. Чтобы использовать StringPadLeft вам сначала нужно создать промежуточный строковый объект, к которому вы последовательно добавляете дополненный номер.

0

Другой подход заключается в использовании составного форматирования или интерполяции строк, чтобы выполнить "заполнение нулями" за вас.

        int[] array = new int[1000];    //create an array
        Random randNum = new Random();    //create an instance of random Number
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < array.Length; i++)    //Generate random array
        {
            int r = randNum.Next(0, 1000);
            sb.Append($"{r:0000},");
        }
        SetupLabel.Text = sb.ToString();

«:0000» означает заполнение значения по крайней мере 4 нулями

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .