C# 如何从和数组中删除0?

C# 如何从和数组中删除0?,c#,C#,作业要求我从用户输入中找到第二个最低的数字(最大10),如果输入0,程序应停止并找到第二个最低的数字,而不进行计数。但是我必须事先声明数组的大小。 例如,如果我输入473800,程序也会计算所有的0,直到有10个数字,所以它会看到:4738000。我有没有办法阻止程序看到另一个0或以某种方式更改数组大小 编辑: 好的,这是我到目前为止的代码: int s; s = 10; int[] numbers = new int[s]; f

作业要求我从用户输入中找到第二个最低的数字(最大10),如果输入0,程序应停止并找到第二个最低的数字,而不进行计数。但是我必须事先声明数组的大小。 例如,如果我输入473800,程序也会计算所有的0,直到有10个数字,所以它会看到:4738000。我有没有办法阻止程序看到另一个0或以某种方式更改数组大小

编辑: 好的,这是我到目前为止的代码:

        int s;
        s = 10;
        int[] numbers = new int[s];

        for (int i = 0; i < numbers.Length; i++)
        {
            int.TryParse(Console.ReadLine(), out numbers[i]);

        }

        int firstLowestNumber = numbers[0];
        int secondLowestNumber = numbers[0];
        for (int i = 0; i < numbers.Length; i++)
        {
            if (numbers[i] < firstLowestNumber)
            {
                firstLowestNumber = numbers[i];
            }
        }

        for (int x = 0; x < numbers.Length; x++)
        {
            if (numbers[x] < secondLowestNumber && firstLowestNumber != numbers[x])
            {
                secondLowestNumber = numbers[x];
            }
        }

        Console.WriteLine("Second Lowest Number is {0}", secondLowestNumber);



        Console.ReadLine();
ints;
s=10;
int[]个数=新的int[s];
for(int i=0;i
初始化int数组时,所有数字都将为0。这意味着您只需要在0作为输入时停止读取

因此,在第一个foreach中稍作更改即可:

int input;
int.TryParse(Console.ReadLine(), out input);
if (input == 0) break; //This will jump out of the foreach
number[i] = input;

初始化整型数组后,所有数字都将为0。这意味着您只需要在0作为输入时停止读取

因此,在第一个foreach中稍作更改即可:

int input;
int.TryParse(Console.ReadLine(), out input);
if (input == 0) break; //This will jump out of the foreach
number[i] = input;

这取决于你们作业的目标

1) 使用Linq(可能是老师要求你不要使用Linq)


这取决于你们作业的目标

1) 使用Linq(可能是老师要求你不要使用Linq)


使用
列表
而不是数组如果你真的必须使用数组,那么你就可以了,但大约在2005年.Net 1.1之后就没有人这样做过<代码>列表永远不需要重新调整大小,因为它是一个动态大小的数组。还有,为什么这是家庭作业这一事实意味着你不能显示你的代码?你可以在这里发布家庭作业代码。事实上,我们希望你这样做。请与我们共享您的代码,以便我们能够更好地帮助您。@Liam如果他们张贴了作业,那么他们的老师将能够找到此问题,并知道他们违反了学校规则。如果他们不这样做,老师可能永远也找不到这个问题。使用
列表
而不是数组如果你真的必须使用数组,那么你就可以了,但大约从2005年.Net 1.1开始就没有人这样做过<代码>列表永远不需要重新调整大小,因为它是一个动态大小的数组。还有,为什么这是家庭作业这一事实意味着你不能显示你的代码?你可以在这里发布家庭作业代码。事实上,我们希望你这样做。请与我们共享您的代码,以便我们能够更好地帮助您。@Liam如果他们张贴了作业,那么他们的老师将能够找到此问题,并知道他们违反了学校规则。如果他们不这样做,老师可能永远也找不到这个问题。
int[] ints = new int[10];

foreach (int element in ints) {
  if (element == 0)
    continue;
  Console.Write("{0} ", element);
}