我有Array<string>
。我必须将i
中的所有元素都带到j
。如何使用扩展方法进行此操作?
答案 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的选项将非常有效。