使用C#和扩展方法从i到j的数组中获取一系列元素

时间:2009-06-17 15:59:33

标签: c# .net linq arrays extension-methods

我有Array<string>。我必须将i中的所有元素都带到j。如何使用扩展方法进行此操作?

3 个答案:

答案 0 :(得分:10)

请尝试以下操作。

public static IEnumerable<T> GetRange<T>(this IEnumerable<T> enumerable, int start, int end) {
  return enumerable.Skip(start).Take(end-start); 
}

然后你可以做

Array<string> arr = GetSomeArray();
var res = arr.GetRange(i,j);

答案 1 :(得分:2)

var result = myStringArray.Skip(i).Take(j-i);

答案 2 :(得分:2)

您可以使用ArraySegment<T>

如果您需要将此作为IEnumerable<T>返回,则使用已列出的Skip / Take的选项将非常有效。