c# - 在 C# 中按最后而不是第一个调整数组大小

标签 c# arrays resize

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

相关文章:

c# - 带有自定义错误消息的 MVC 错误处理

php - 在多维数组上使用 array_intersect

ios - 如何允许图像调整 4 英寸 iphone 5 的大小

java - setPreferredSize() 在我的 JButton 中不起作用

c# - Dynamics CRM 2011 - 如何在工作流步骤中发送带有外部链接的电子邮件

c# - 向 EF 实体添加非关系属性(连接操作)

python - 基于多列对 numpy 文本数组中包含数字的列进行排序

ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?

c# - Swagger Swashbuckle 抽象类文档

python - 更改 Array 元素时在 Python traits 包中触发事件