AntiGameZ
2020-07-05 13:16:52 +08:00
Stream.iterate(), Stream.generate()
> Enumerable.Range(1, 100).Select(x => x * x);
如果你要无限流的话,可以自己写个。我不知道有没有新的语法糖可以开箱即用。
IEnumerable<T> InfiniteStream<T>()
{
while (true) { yield return default(T); }
}
Stream.builder() 的话,c# 直接支持集合类型的各种花式 initializer, .Select() 也可以通过直接创建匿名或非匿名对象达到这样的目的。
--
void List<T>.add() 因为返回值是 void,是不可能实现链式调用的,你需要的是一个 List<T> List<T>.add() 这样的扩展方法才行。现成可以用的应该是 IEnumerable<T> Enumerable.Concat<T>