NetFabric.Hyperlinq.Analyzer 2.3.0

Prefix Reserved
dotnet add package NetFabric.Hyperlinq.Analyzer --version 2.3.0                
NuGet\Install-Package NetFabric.Hyperlinq.Analyzer -Version 2.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetFabric.Hyperlinq.Analyzer" Version="2.3.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetFabric.Hyperlinq.Analyzer --version 2.3.0                
#r "nuget: NetFabric.Hyperlinq.Analyzer, 2.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NetFabric.Hyperlinq.Analyzer as a Cake Addin
#addin nuget:?package=NetFabric.Hyperlinq.Analyzer&version=2.3.0

// Install NetFabric.Hyperlinq.Analyzer as a Cake Tool
#tool nuget:?package=NetFabric.Hyperlinq.Analyzer&version=2.3.0                

NetFabric.Hyperlinq.Analyzer

A Roslyn Analyzer that contains several rules to help improve enumeration performance when using C#.

Note: This analyzer is independent of NetFabric.Hyperlinq. The rules may be useful when you only use foreach, IEnumerable<T>, IAsyncEnumerable<T>, System.Linq or System.Linq.Async.

Rule ID Category Severity Notes
HLQ001 Performance Warning Assigment to interface causes boxing of enumerator
HLQ002 Compiler Error Enumerable cannot be null.
HLQ003 Performance Warning Public methods should return highest admissible level interface.
HLQ004 Performance Warning The enumerator returns a reference to the item.
HLQ005 Performance Warning Avoid use of Single() and SingleOrDefault()
HLQ006 Performance Warning GetEnumerator() or GetAsyncEnumerator() should return a value type.
HLQ007 Performance Warning Consider returning a non-disposable enumerator.
HLQ008 Performance Info The enumerable is a value type. Consider making it readonly.
HLQ009 Performance Info Consider removing an empty optional enumerator method.
HLQ011 Compiler Error Mutable value-type enumerators cannot be stored in a readonly field.
HLQ012 Performance Warning Consider using CollectionsMarshal.AsSpan() when iterating a List<T>.
HLQ013 Performance Warning Consider using foreach when iterating an array or a Span<T>.
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on NetFabric.Hyperlinq.Analyzer:

Repository Stars
NetFabric/NetFabric.Hyperlinq
High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
mehdihadeli/food-delivery-microservices
🍔 A practical and imaginary food delivery microservices, built with .Net 8, MassTransit, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
mehdihadeli/food-delivery-modular-monolith
🌭 A practical and imaginary food and grocery delivery modular monolith, built with .Net 8, Domain-Driven Design, CQRS, Vertical Slice Architecture, Event-Driven Architecture, and the latest technologies.
mehdihadeli/vertical-slice-api-template
An asp.net core template based on .Net 8, Vertical Slice Architecture, CQRS, Minimal APIs, API Versioning and Swagger.
Version Downloads Last updated
2.3.0 19,594 10/13/2023
2.2.0 275 10/11/2023
2.1.0 424 7/26/2023
2.0.4 40,034 7/10/2021
2.0.3 1,096 4/15/2021
2.0.2 343 4/15/2021
2.0.1 2,779 5/15/2020
2.0.0 561 5/14/2020
1.5.6 556 4/17/2020
1.5.1 609 4/8/2020
1.5.0 657 12/11/2019
1.4.1 663 2/28/2019
1.4.0 569 2/28/2019
1.3.1 592 2/24/2019
1.3.0 557 2/24/2019
1.2.1 571 2/22/2019
1.2.0 578 2/21/2019
1.1.0 637 2/1/2019
1.0.0 846 1/31/2019