参考
この記事は、以下の動画を参考にしています。
詳しくは、動画をご覧ください。
NuGet Gallery
プロジェクトのサイト
作者による解説
ZLinqの特徴
ヒープを使わない、LINQ互換のメソッドを提供するNuGetパッケージ。
ヒープを使わないので、.NETオリジナルのLINQに比べて高速である。
また、.NETオリジナルのLINQにはない、Span<T>
に対するメソッドも提供されている。
ZLinqの使用手順
- ZLinqをプロジェクトにインストールする
- コレクションに対して
AsValueEnumerable
メソッドを呼ぶ - その結果に対して、LINQ(互換)のメソッドを呼ぶ
ZLinq
using ZLinq;
var sum = numbers
.AsValueEnumerable()
.Where(x => x % 2 == 0)
.Select(x => x * 3)
.Sum();
LINQ to Span
using ZLinq;
Span<int> span = [1, 2, 3, 4, 5];
var sum = span
.AsValueEnumerable()
.Where(x => x % 2 == 0)
.Select(x => x * 3)
.Sum();