.net
AD

C# Linq の拡張メソッド Concat の中身を見てみた

kawa.xxx
記事内に商品プロモーションを含む場合があります

英語が弱いので、単語から意味を理解できない時がよくよくあります。

でも、挙動をしっかり理解してしまえば、すっと思い出せるだろうと思って中身を見てみた。すると以下の様に単純に2つの IEnumerable を受け取ってそれぞれ順番に yield return しているだけでした。

単純ですね!

public static IEnumerable<TSource> Concat<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second) {
        if (first == null) throw Error.ArgumentNull("first");
        if (second == null) throw Error.ArgumentNull("second");
        return ConcatIterator<TSource>(first, second);
}
static IEnumerable<TSource> ConcatIterator<TSource>(IEnumerable<TSource> first, IEnumerable<TSource> second) {
        foreach (TSource element in first) yield return element;
        foreach (TSource element in second) yield return element;
}
ABOUT ME
kawa.xxx
kawa.xxx
都内のIT系企業に勤める会社員。自分の備忘録的なアウトプット用の場所で、ボルダリングやガシェッド、セキュリティ、カメラの話題が中心です。
記事URLをコピーしました