我有一个 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;
关于c# - 在 C# 中按最后而不是第一个调整数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4558146/