1
私は次のコードを持っており、それを簡単なステートメントに変換する必要があります(linqを使って削除してください)。Linq to simple foreach cicles
誰でも手伝いできますか?
public static IEnumerable<IEnumerable<T>> Combinations<T>(this IEnumerable<T> elements, int k)
{
List<T> list = new List<T>();
foreach (var element in elements)
{
list.Add(element);
}
var enumerable = elements as IList<T> ?? list;
return k == 0 ? new[] { new T[0] } :
enumerable.SelectMany((e, i) =>
enumerable.Skip(i + 1).Combinations(k - 1).Select(c => (new[] { e }).Concat<T>(c)));
}
あなたは直面している問題は何ですか? –
すべて機能していますが、SQL CLR ASSEMBLYでこの関数を呼び出すと、null参照例外が返されます。私はlinqを使用して削除し、私のアセンブリからSystem.Coreの参照を削除します。私はSystem.CoreをSQL CLRアセンブラで使用する際の問題だと思う。 –
LinqかLinqがなく、 'foreach'ループは' elements'が 'null'ならば' NullReferenceException'を引き起こします。 –