231 字
1 分钟
[C#] IEnumerable拼接! 将枚举器串起来~
本来以为 IEnumerable 不能拼接, 就自己实现了一个, 结果发现 Linq 是提供了一个 Concat 函数的, 不过似乎是通过生成List的方式来实现? 反正我那个是异步的.
using System;using System.Collections;using System.Collections.Generic;
namespace NullLib.Iterator{ public static class NIterator { public static IEnumerable Concat(this IEnumerable iterator1, IEnumerable iterator2) { foreach (var i in iterator1) yield return i; foreach (var i in iterator2) yield return i; } public static IEnumerable<T> Concat<T>(this IEnumerable<T> iterator1, IEnumerable<T> iterator2) { foreach (var i in iterator1) yield return i; foreach (var i in iterator2) yield return i; } public static IEnumerable Concat(this IEnumerable iterator1, params IEnumerable[] iterator2) { foreach (var i in iterator1) yield return i; foreach (var i in iterator2) foreach (var j in i) yield return j; } public static IEnumerable<T> Concat<T>(this IEnumerable<T> iterator1, params IEnumerable<T>[] iterator2) { foreach (var i in iterator1) yield return i; foreach (var i in iterator2) foreach (var j in i) yield return j; } public static IEnumerable Concat(params IEnumerable[] iterators) { foreach (var i in iterators) foreach (var j in i) yield return j; } public static IEnumerable<T> Concat<T>(params IEnumerable<T>[] iterators) { foreach (var i in iterators) foreach (var j in i) yield return j; } }} [C#] IEnumerable拼接! 将枚举器串起来~
https://slimenull.com/posts/20210219152833/