如何阻止前导0从C#中的整数中删除

deu*_*on0 1 c# integer

我试图存储代表4位字符串的整数,其中一些字符串在开头有0.当我在控制台中写出这些值时,前导0被剥离,我可以阻止这种情况发生吗?我阅读了文档,但看不到任何可以防止这种情况发生的事情.到目前为止,这是我的代码:

class Fitness
{
    Random random = new Random();

     int[] myArray = new int[15];
     int[] myArray2 = new int[6];
     int[] numbers = new int[6];
     int randomNumber;
     public void setup()
     {

         for (int i = 0; i < 6; i++)
         {
             do
             {
                 randomNumber = random.Next(1, 16);
             }
             while (numbers.Contains(randomNumber));

             numbers[i] = randomNumber;

         }
         Array.Sort(numbers);
         foreach (int i in numbers)
         {
             Console.WriteLine(i);
         }
         Console.WriteLine("-----------------");
         Console.WriteLine("-----------------");

         myArray[0] = 0001;
         myArray[1] = 0010;
         myArray[2] = 0011;
         myArray[3] = 0100;
         myArray[4] = 0101;
         myArray[5] = 0110;
         myArray[6] = 0111;
         myArray[7] = 1000;
         myArray[8] = 1001;
         myArray[9] = 1010;
         myArray[10] = 1011;
         myArray[11] = 1100;
         myArray[12] = 1101;
         myArray[13] = 1110;
         myArray[14] = 1111;

         for (int i = 0; i < 6; i++)
         {
             myArray2[i] = myArray[numbers[i]-1];
         }
         foreach (int i in myArray2)
         {
             Console.WriteLine(i);
         }
     }
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 6

Int32没有前导零但是string可以有.您需要应用正确的格式.您可以在以下位置使用小数("D")格式说明符ToString:

 foreach (int i in myArray2)
 {
     Console.WriteLine(i.ToString("d4"));
 }
Run Code Online (Sandbox Code Playgroud)

标准数字格式字符串

精度说明符表示结果字符串中所需的最小位数.如果需要,数字用左边的零填充,以产生精度说明符给出的位数.如果未指定精度说明符,则缺省值是表示不带前导零的整数所需的最小值.


Dam*_*ith 5

尝试

Console.WriteLine(i.ToString("D4"));
Run Code Online (Sandbox Code Playgroud)

阅读有关标准数字格式字符串的更多信息...

这与此问题有关C#将int转换为带填充零的字符串?

编辑

你可以用int数组做你想做的事情,当你显示格式如上所述.