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

有帮助吗?

解决方案

请尝试以下操作。

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);

其他提示

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

您可以使用 ArraySegment <!> lt; T <!> gt ;

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top