Skip to content

weklund/learn-c-sharp-with-tests

Repository files navigation

Learn C# with Tests (and .NET Core)

heavily influenced by the great work Chris James (@quii) has done with Learning Go with Tests

Why

Table of contents

C# fundamentals

  1. Install dotnet - Set up environment for productivity.
  2. Hello, world - Declaring variables, constants, if/else statements, switch, write your first C# program and write your first test. Namespaces and the using directive.
  3. Integers - Further explore function declaration syntax.
  4. Iteration - Learn about loops for
  5. Arrays - Learn about arrays,foreach, params, and array slicing

More coming soon!

Contributing

  • This project is work in progress If you would like to contribute, please do get in touch.
  • Read contributing.md for guidelines
  • Any ideas? Create an issue

Background

I have experience introducing testing to development teams and have tried different approaches on motivating and mentoring teams to use testing in their development workflow.

What works for me

When learning new languages, I like to play around in a scripting environment to pick up the syntax, but don't want to start a pet project just to learn another language

I like to do is explore concepts and then solidify the ideas with tests. Tests verify the code I write is correct and documents the feature I have learned.

Taking my experience of learning with a group and my own personal way I am going to try and create something that hopefully proves useful to other teams. Learning the fundamentals by writing small tests with quick feedback loops so that you can then take your existing software design skills and ship some great systems.

Who this is for

  • People who are interested in picking up C#.
  • People who already know some C#, but want to explore testing with TDD.

What you'll need

  • A computer!
  • Installed dotnet
  • A text editor
  • Some experience with programming. Understanding of concepts like if, variables, functions etc.
  • Comfortable with using the terminal

Feedback

MIT license

Releases

No releases published

Packages

No packages published

Languages