منصوبے کے بارے میں

ZLinq ایک اعلیٰ کارکردگی، زیرو-الوکیشن LINQ لائبریری ہے جو .NET پلیٹ فارمز (netstandard2.0، 2.1، net8، net9) اور گیم انجنز جیسے Unity اور Godot کے لیے ہے۔ یہ ایک struct پر مبنی `ValueEnumerable<T>` فراہم کرتی ہے جو میتھڈ چینز میں الوکیشنز کو ختم کرتی ہے، جس سے معیاری LINQ سے بہتر کارکردگی حاصل ہوتی ہے۔ اہم خصوصیات میں شامل ہیں: - **99% مطابقت** .NET 10 کے LINQ کے ساتھ، بشمول نئے آپریٹرز جیسے `Shuffle`، `RightJoin`، `LeftJoin`، `Sequence`، اور `InfiniteSequence`۔ - **LINQ to Span**: .NET 9/C# 13 کے `allows ref struct` کا استعمال کرتے ہوئے `Span<T>` آپریشنز کے لیے مکمل سپورٹ۔ - **LINQ to SIMD**: معاون عددی اقسام (مثلاً `int`، `float`، `double`) کے لیے خودکار SIMD ایکسلریشن، زیادہ سے زیادہ کارکردگی کے لیے `SumUnchecked` کے ساتھ۔ - **LINQ to Tree**: درجہ بندی والے ڈیٹا پر LINQ استفسارات کو فعال کرتے ہوئے، FileSystem، JSON، اور GameObject جیسے درختوں کے ڈھانچوں کے لیے بلٹ ان سپورٹ۔ - **ڈراپ اِن متبادل**: اختیاری سورس جنریٹر (`ZLinq.DropInGenerator`) جو بغیر کوڈ تبدیلیوں کے تمام LINQ میتھڈز کو خودکار طور پر تیز کرتا ہے۔ استعمال آسان ہے: موجودہ کلیکشنز میں `AsValueEnumerable()` شامل کریں تاکہ ZLinq میتھڈز کی چیننگ شروع کی جا سکے۔ لائبریری dotnet/runtime کے System.Linq.Tests سے 9000+ ٹیسٹ پاس کرتی ہے، جس سے قابل اعتماد ہونے کی یقین دہانی ہوتی ہے۔ اس میں `ToArrayPool` جیسی افادیتیں بھی شامل ہیں جو بغیر الوکیشن کے میٹریلائزیشن کے لیے ہیں اور `CopyTo` جو کلیکشن الوکیشنز سے بچنے کے لیے ہے۔ اگرچہ میتھڈ چینز مختلف اقسام واپس کرتی ہیں (جو دوبارہ تفویض کو روکتی ہیں)، عملی طور پر یہ شاذ و نادر ہی مسئلہ بنتا ہے۔ ZLinq کارکردگی کے لحاظ سے اہم ایپلی کیشنز جیسے گیمز کے لیے مثالی ہے، جہاں بغیر الوکیشن والا LINQ انتہائی اہم ہے۔