MoreLINQ
csharplang
Our great sponsors
MoreLINQ | csharplang | |
---|---|---|
21 | 262 | |
3,576 | 10,779 | |
1.3% | 1.1% | |
7.8 | 9.6 | |
25 days ago | 4 days ago | |
C# | C# | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MoreLINQ
- What your hidden nuget gems ?
-
Do you know about the DistinctBy method?
You can grab MoreLinq off of Nuget for pre-.NET6 and it has a DistinctBy implementation that you might be able to use: https://github.com/morelinq/MoreLINQ
-
Three words.,, => C# Functional Programming is awesome!!! Do you seasoned developers have any war-stories or nightmare stories regarding Functional Programming?
Install "morelinq" 3.3.2 from Nuget: https://www.nuget.org/packages/morelinq You know you got the right one if it has about 37.2 million downloads.
-
Is there a reason why a WithIndex() extension method isn't apart of the standard library?
If you don't already know about it, I highly recommend checking out the MoreLINQ open source project which adds a bunch of these less common but still occasionally useful extensions to LINQ. They also include an Index method which does exactly what your WithIndex method does, yielding out KeyValuePair entries for each iteration.
-
-🎄- 2021 Day 1 Solutions -🎄-
It's part of the MoreLinq library. The Window() function code is here.
- .NET 6
-
MIT Licensed Repository of Game Scripts. I am updating the repo regularly with all the scripts I've made over the past 10 years that can be generalised, completely free of charge, for you to do with as you wish. Currently only Unity scripts, but hope to expand further in the future.
And while the thought of improving the readme had indeed crossed my mind already, I'm struggling a bit with what exactly to put there. I kind of like the way it's done at MoreLINQ but I fear that this might explode a bit for me with the number of classes I have, and that listing all method signatures and some short descriptions might prove to quickly become outdated when the actual code changes or more is added.
-
New .NET 6 APIs driven by the developer community
Check out MoreLINQ if you haven't already. It adds a lot of extra LINQ extension methods, including MinBy/MaxBy.
-
2020 Day 17 Solutions
MoreLinq is a NuGet package with some extensions to the built in LINQ methods. I don't like to use libraries in my solutions, but MoreLINQ has a bunch of common LINQ methods, and it just saves me writing them myself.
csharplang
- Discriminated Unions: Essa feature faz falta no CSharp
-
DevDocs
Certain parts of Microsoft Learn are permissive, for example the .NET BCL documentation is Creative Commons Attribution: https://github.com/dotnet/dotnet-api-docs as is ASP.NET Core: https://github.com/dotnet/AspNetCore.Docs (a good hint if documentation is permissively licensed and on GitHub is if there's an edit button at the top.)
The C# language specification is unfortunately a bit fuzzier: https://github.com/dotnet/csharplang/discussions/4855
The updated unified C# language specification is CC, but it's still catching up to modern C#: https://github.com/dotnet/csharpstandard
-
The golden age of Kotlin and its uncertain future
No OP, but for example you still see the C# folks still struggling to add discriminated unions to the language because of complex interactions due to its too many features[1]. Virtual threads are easier to use than async/await is another example.
-
.NET 8 – .NET Blog
Hi there. I'm the language designer who created the 'Collection Expression' design/specification: https://github.com/dotnet/csharplang/issues/5354
You can see the entire history of the proposal there. To answer you specific question, we went with `..` because that's what the language already uses for the complimentary 'pattern matching deconstruction' form for collection patterns.
In other words, you can already say this today:
if (x is [var start, .. var middle, .. var end]) { ... }
-
What's new in C# 12: overview
Great improvements.
There is PolySharp project that enables you to use most of C#11 features in legacy .NET Framework: https://github.com/Sergio0694/PolySharp - Seems that C#12 features are planned to be implemented: https://github.com/Sergio0694/PolySharp/issues/78
I'm using PolySharp where I'm stuck with .NET Framework 4.6 and I don't have any issues.
Hope one day I'd see concise syntax for catch and/or try expressions: https://github.com/dotnet/csharplang/discussions/2734 - but there is a lot of resistance.
You must specify concrete type.
There was a plan to have "natural type" so "var list = [1,2,3]" would be of type "List" but it was postponed to C# 13 (https://github.com/dotnet/csharplang/issues/5354#issuecommen...)
-
Robust Design through Value Objects in C#
While C# currently lacks direct support for this kind of functionality, there's a glimmer of hope with an active proposal under discussion that aims to bring this feature to the language. This potential addition promises a future where C# can natively offer similar robust type narrowing.
-
The combined power of F# and C#
Given few people anticipated ValueTuple and C# adding a more direct tuple syntax, I feel like it is only a matter of time before C# adds discriminated unions.
(There are multiple proposals tracking the idea. This seems the most comprehensive and "central": https://github.com/dotnet/csharplang/issues/7016)
-
Interceptors (new C# metaprogramming feature) to fuel DapperAOT development
https://github.com/dotnet/csharplang/issues/7009
[Proposal]: Interceptors #7009
> An interceptor is a method which can declaratively substitute a call to itself instead of a call to an interceptable method at compile time. This substitution occurs by having the interceptor declare the source locations of the calls that it intercepts. This provides a limited facility to change the semantics of existing code by adding new code to a compilation (e.g. in a source generator).
- How Much Memory Do You Need to Run 1M Concurrent Tasks?
What are some alternatives?
language-ext - C# functional language extensions - a base class library for functional programming
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
jOOQ - jOOQ is the best way to write SQL in Java
Extensions-And-Utilities-For-Unity - A collection of Extension methods and Utility classes for the System, UnityEngine, and UnityEditor namespaces.
SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL
SharpLab - .NET language playground
runtimelab - This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
intellij-rust - Rust plugin for the IntelliJ Platform
F# - Please file issues or pull requests here: https://github.com/dotnet/fsharp
wuffs - Wrangling Untrusted File Formats Safely