2009-06-17 6 views
0

私はArray<string>を持っています。私はiからjにすべての要素を持っていなければなりません。どのように私は拡張メソッドを使用してこれを行うことができますか?C#と拡張メソッドを使用してiからjまでの配列から要素のシーケンスを取る

+1

「テイク」とは何を意味していますか?どのような戻り価値が期待されますか?おそらくIEnumerable ? – Joseph

答えて

10

以下を試してください。あなただけのArraySegment<T>を使用することができ

Array<string> arr = GetSomeArray(); 
var res = arr.GetRange(i,j); 
2
var result = myStringArray.Skip(i).Take(j-i); 
2

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

次に、あなたが行うことができます。

IEnumerable<T>として返される必要がある場合は、すでにリストされているSkip/Takeを使用したオプションがうまく機能します。

関連する問題