我有一个Class元素数组,并且需要通过一个int变量将该数组调整为最后X个元素的大小。

因此,例如,我有一个数组:

Array[0] = Msg1
Array[1] = Msg2
Array[2] = Msg3
Array[3] = Msg4
Array[4] = Msg5
Array[5] = Msg6
Array[6] = Msg7
Array[7] = Msg8
Array[8] = Msg9
Array[9] = Msg10


而且我只需要数组中的最后8个元素。

我不能使用Array.Resize函数,因为结果将是:

Array[0] = Msg1
Array[1] = Msg2
Array[2] = Msg3
Array[3] = Msg4
Array[4] = Msg5
Array[5] = Msg6
Array[6] = Msg7
Array[7] = Msg8


我需要这样的东西:

Array[0] = Msg3
Array[1] = Msg4
Array[2] = Msg5
Array[3] = Msg6
Array[4] = Msg7
Array[5] = Msg8
Array[6] = Msg9
Array[7] = Msg10


我怎样才能做到这一点?我希望我的问题很清楚。

谢谢。

最佳答案

使用LINQ:

array = array.Skip(array.Length - 8).ToArray();

没有LINQ:
int[] temp = new int[8];
Array.Copy(array, array.Length - temp.Length, temp, 0, temp.Length);
array = temp;

10-07 19:31
查看更多