C# 如何在for循环中将最后一个元素添加到列表中

C# 如何在for循环中将最后一个元素添加到列表中,c#,C#,我得到一个数字列表,我需要找到最大的递增元素序列,并在控制台上打印出来。如果有两个长度相等的序列,那么我应该打印左边第一个序列 这就是我所尝试的: for (int i = 0; i < numbers.Count - 1; i++) { if (numbers[i] < numbers[i+1] && numbers[i] > 0) { counterFirstSequence++; firstSequence.

我得到一个数字列表,我需要找到最大的递增元素序列,并在控制台上打印出来。如果有两个长度相等的序列,那么我应该打印左边第一个序列

这就是我所尝试的:

for (int i = 0; i < numbers.Count - 1; i++)
{
    if (numbers[i] < numbers[i+1] && numbers[i] > 0)
    {
        counterFirstSequence++;
        firstSequence.Add(numbers[i]);
    }
}
for(int i=0;i0)
{
反优先顺序++;
添加(编号[i]);
}
}
但是,因为我只转到
numbers.Count-1
,所以最后一个元素从未被添加。

for(int i=0;ifor (int i = 0; i < numbers.Count - 1; i++)
{
    if (numbers[i] <= 0) continue;
    if (numbers[i] >= numbers[i+1]) continue;

    counterFirstSequence++;
    firstSequence.Add(numbers[i]);

    //if the second to last element on the list meets the condition then the last 
    //element is also valid
    //for a zero based index, the second to last element would have the index 
    //numbers.Count - 2
    if(i == numbers.Count - 2)
    {
        counterFirstSequence++;
        firstSequence.Add(numbers[i + 1]);
    }
}
{ 如果(数[i]=数[i+1])继续; 反优先顺序++; 添加(编号[i]); //如果列表中倒数第二个元素满足条件,则最后一个元素 //元素也是有效的 //对于从零开始的索引,倒数第二个元素将具有该索引 //数字,数到2 if(i==numbers.Count-2) { 反优先顺序++; 添加(数字[i+1]); } }
最后一项永远不会小于下一项,因为没有下一项。如何确定是否应添加该元素?如果最后一个元素<比前一个元素,则应添加该元素。例如:如果输入是7 3 5 8-1 0 6 7,那么输出应该是:3 5 6 7,但是我得到的是3 5 6,所以我需要做的是以递增的顺序获得一个数字序列的计数。
numbers[I+1]
I==numbers.count-1
时会抛出一个
索引自动异常,所以这根本不起作用。你的规格不是很清楚。你想要实现什么?你在评论中给出的例子应该是问题的一部分,但对我来说没有多大意义。这应该会给出你想要的结果。非常感谢你的帮助!