CSharpKatas is a training tool for teaching C# newcommers how to apply advanced language features, how to write idiomatic C#, and how to avoid Java idioms in C#. It builds upon .Net 6.0 and NUnit3 and runs on multiple platforms such as windows and linux.
For more background see the related blog post series:
The exercises here are organized into Katas, or mind excersises. Each Kata contains a set of unit tests and some todo's.
Developers are typically asked to turn the tests green using any means necessary, then refactor using C# idioms (such as not writing loops or if statements without good reason).
Anyone wishing to work on these problems is encouraged to create a branch and work the solutions there.
Finally anyone unable to solve a Kata in under a few minutes is encouraged to delete their solution and re-solve it until the solution is second-nature (similar to a Kata in martial arts).
This project was created for the C# community. Enjoy, learn, and please feel free to contribute back updates or additional Katas (pull requests welcome).