【问题标题】:Getting sublist from an arraylist in C# [duplicate]从C#中的arraylist获取子列表[重复]
【发布时间】:2015-10-10 11:05:19
【问题描述】:

我有一个名为 intArray 的数组列表。 我需要获取该数组列表的子列表,并且我知道有一种方法需要两个参数:起始索引和计数。但我想通过采用两个参数来实现一种方法:较低的索引和较高的索引。 有没有这样的方法?

例如,这是数组列表:

int[] intArr = { 1, 2, 3, 4, 5, 6 };

因此,如果我们指定一个方法,例如 displayArray(1,4) //1 是较低的索引,4 是较高的索引。所以它应该显示从第一个索引到第四个索引的元素。

谢谢!!!

【问题讨论】:

  • 您至少应该尝试...请发布一些不适合您的代码。
  • 试试这个: int[] intArr = { 1, 2, 3, 4, 5, 6 }; int lowIndex = 1; int highIndex = 4; int[] 结果 = intArr.Skip(lowIndex).Take(highIndex - lowIndex + 1).ToArray();

标签: c# arraylist sublist


【解决方案1】:

首先,你有一个 array,而不是 ArrayList(ArrayList 是动态的和可调整大小的)。但是为了澄清您的问题,如果我正确理解您的困境,您的方法应该是获取子列表而不是显示子列表。

所以你必须创建一个本地数组(在你应该是一个 getSubList() 函数而不是一个 displayArray 函数并返回它。这将需要一个简单的循环:

    for (int i = lowerIndex; i <= higherIndex; i++){
        ...read your array and add values to new array...
    }

此外,您应该考虑传入的索引是否有效(例如,我们不希望负索引或大于数组大小的索引)但这只是为了确保函数不会使您的程序崩溃。您可能需要再考虑一个参数(因为您正在处理数组)以防止“坏”索引。这将是数组的长度。

【讨论】:

    猜你喜欢
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    • 2014-05-01
    相关资源
    最近更新 更多