我有一个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;