Towel | MoreLINQ | |
---|---|---|
10 | 21 | |
702 | 3,595 | |
- | 0.5% | |
0.0 | 7.7 | |
4 months ago | 4 days ago | |
C# | C# | |
MIT License | 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.
Towel
-
What your hidden nuget gems ?
Towel - Throw in the towel! data structures, algorithms, mathematics, metadata, extensions, console, and more - https://github.com/ZacharyPatten/Towel
-
More C# Console Games
PacMan is... a PacMan clone in the console. Get the dots. Dodge the ghosts. It's not intended to be very faithful though. I didn't research the AI of the ghost, I just came up with my own AIs that worked. Here is what I did for the ghost AIs: - Ghost a: follows you via Dijkstra Path Finding and updates every 6 frames (faster) - Ghost b: randomly moves and updates every 6 frames (faster) - Ghost c: follows you via Dijkstra Path Finding and updates every 12 frames (slower) - Ghost d: randomly moves and updates every 12 frames (slower) Note: for this game I pulled in a reference to my nuget package Towel because it includes generic versions of the Dijkstra Path Finding algorithm.
-
Best data structures and algorithms packages?
Can you give an example? BCL covers the most common algorithms and data structures, so...? There's also a whole pack of additional algorithms and data structures by u/ZacharyPatten: https://github.com/ZacharyPatten/Towel
-
SLazy<T> (a struct alternative Lazy<T>)
Unit Tests
-
SLazy<T> (a struct alternative to Lazy<T>)
Source Code
-
DSA and time complexities
I have a GitHub project with generic data structures and algorithms here: https://github.com/ZacharyPatten/Towel It has 18 of the common comparison-based sorting algorithms.
-
Mathematics/Scientific computing libraries
I don't know specifically what you are looking for, but I have a project called Towel that has generic vectors. If interested: https://github.com/ZacharyPatten/Towel.
-
What I learned about C# from job interviews
https://github.com/ZacharyPatten/Towel/blob/070d454f3fcdc5c632bf68547911718b324cf6ae/Examples/DataStructures/Program.cs#L247
-
Random Generation (with efficient exclusions)
Notice how algorithm #1Pool Tracking is dependent on the range of possible values while algorithm #2 Roll Tracking is not. This means if you have a relatively large range of values, then algorithm #2 is faster, otherwise algorithm #1 is faster. So if you want the most efficient method, you just need to compare those runtime complexities based on the parameters and select the most appropriate algorithm. Here is what my "Next" overload currently looks like: See Source Code Here
-
How to parse console app arguments and auto create help pages
Here is an example if interested: https://github.com/ZacharyPatten/Towel/blob/master/Examples/CommandLine/Program.cs All I have to do is add the [Command] attribute onto the methods and call "HandleArguments".
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.
- How to remove duplicates from a list, I've tried multiple approaches but with no luck. Can You help me out or point me in the right direction, please. My attempts are in the post
-
Just had a Senior Technical Interview that was so bad and such a waste of time that I burnt that bridge and burnt it hard. If this is how your company interviews people please stop.
yield return is a significant core piece of the framework. It's the basis of which most deferred execution and LINQ is built upon and any extension one would want to add to LINQ. (for example)
-
it feels as though the LINQ queries are inferior to simply using the Enumerable extensions, is there something i'm missing?
For a time, I'd say the Query Syntax was comparatively as popular as the Method Syntax. But over the years as LINQ became ubiquitous for working with non-database queries (LINQ-to-Objects) and more users extended them (for example, MoreLinq) the Method Syntax became more popular. I'd say nowadays the Query Syntax is relatively rare to see and perhaps mostly limited to direct database queries or these scenarios like "join" that are easier.
-
Full outer join in LINQ
I suggest morelinq https://github.com/morelinq/MoreLINQ
-
Things I don't like or confused me in C#
If you don't already know about it, take a gander at the MoreLINQ extensions. I don't think it solves this particular problem, but it's a great example of extending LINQ.
-
-🎄- 2021 Day 1 Solutions -🎄-
It's part of the MoreLinq library. The Window() function code is here.
What are some alternatives?
C# Algorithms - :books: :chart_with_upwards_trend: Plug-and-play class-library project of standard Data Structures and Algorithms in C#
language-ext - C# functional language extensions - a base class library for functional programming
Algorithmia - Algorithm and data-structure library for .NET 4.5.2+/Netstandard 2.0+. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
awesome-software-architecture - A curated list of awesome articles, videos, and other resources to learn and practice about software architecture, patterns, and principles.
Extensions-And-Utilities-For-Unity - A collection of Extension methods and Utility classes for the System, UnityEngine, and UnityEditor namespaces.
xaml-math - A collection of .NET libraries for rendering mathematical formulae using the LaTeX typesetting style, for the WPF and Avalonia XAML-based frameworks
JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
Akade.IndexedSet - A convenient data structure supporting efficient in-memory indexing and querying, including range queries and fuzzy string matching.
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
Cocona - Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.
Optional - A robust option type for C#