Skip to content

nickfloyd/csharp-seven-kata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C# 7 Kata

A kata that helps you practice and discover the new language features of C# 7

Kata originally were teaching and training methods by which successful combat techniques were preserved and passed on. Practicing kata allowed a company of persons to engage in a struggle using a systematic approach, rather than as individuals in a disorderly manner. source

Definition

In this Kata we will learn how to use new features from C# 7 such as out variables, ValueTuples, Pattern Matching, ref locals and returns, Local Functions, expression-bodied members, throw Expressions, Generalized async return types, and Numeric literal syntax improvements. Make sure to visit the links below for some really great content that will help you navigate these katas.

Note: All kata directions will be found in each of the corresponding .cs files.

Requirements

  • Visual Studio 2017 (any edition) OR .NET Core CLI + any code editor (Visual Studio Code, etc.)
  • Understanding of .NET Framework
  • Understanding of C#

How to approach

  • The csharp-seven-kata project contains classes covering each language feature area.
  • Using your preferred editor, follow the kata instructions in each class to learn how to use each new language feature.
  • Run the tests to verify success!
    • Visual Studio 2017
      • Test Explorer > Run All
    • .NET Core CLI
      • Navigate to \csharp-seven-kata\csharp-seven-kata-tests\
      • dotnet restore (first time)
      • dotnet test

Success

  • All unit tests are green
  • All code has been converted to use the new syntax

Solution

The solution branch has not been created yet.

Additional reading on the new features in C# 7

About

A kata that helps you practice and discover the new language features of C# 7

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages