The C# concept exercises are based on concepts. The list below contains the concepts that have been identified by the track maintainers for the C# language.
(Please do not modify this document. it is automatically generated. All text except the concept learning objectives is sourced from exercises.json which should be updated manually when a concept is added, an "new exercise" issue is raised or the exercise is completed and merged into master. Learning objectives are scraped from the concept definition text in each exercise's design.md document and should be modified there as required.)
This report is updated automatically when any design.md document is modified or csharp/reference/README.md is edited.
- arrays (bird-watcher) - Design, Background
- assignment (cars-assemble) - Design
- base-class-library (international-calling-connoisseur) - Design
- basics (lucians-luscious-lasagna) - Design
- bit-manipulation (attack-of-the-trolls) - Design
- booleans (annalyns-infiltration) - Design, Background
- booleans (annalyns-infiltration) - Design
- casting (secure-munchester-united) - Design
- chars (squeaky-clean) - Design, Background
- classes (elons-toys) - Design, Background
- collections (tracks-on-tracks-on-tracks) - Design
- constants (authentication-system) - Design
- constructors (need-for-speed) - Design
- cross-platform (beauty-salon-goes-global) - Design
- datetimes (booking-up-for-beauty) - Design
- defensive-copying (authentication-system) - Design
- dictionaries (international-calling-connoisseur) - Design, Background
- do-while-loops (interest-is-interesting) - Design
- enums (logs-logs-logs) - Design
- equality (faceid-2) - Design, Background
- exception-filtering (instruments-of-texas) - Design
- exceptions (calculator-conundrum) - Design
- explicit-interfaces (remote-control-competition) - Design
- expression-bodied-members (the-weather-in-deather) - Design
- flag-enums (attack-of-the-trolls) - Design
- floating-point-numbers (interest-is-interesting) - Design
- for-loops (bird-watcher) - Design, Background
- foreach-loops (bird-watcher) - Design, Background
- generic-types (tracks-on-tracks-on-tracks) - Design
- if-statements (cars-assemble) - Design, Background
- implicit-casting (secure-munchester-united) - Design
- imports (red-vs-blue-darwin-style) - Design
- inheritance (wizards-and-warriors) - Design, Background
- integral-numbers (hyper-optimized-telemetry) - Design
- interfaces (remote-control-competition) - Design, Background
- interpolation (high-school-sweethearts) - Design
- lists (tracks-on-tracks-on-tracks) - Design, Background
- marker-interfaces (faceid-2) - Design
- math-operators (cars-assemble) - Design
- method-overloading (wizards-and-warriors-2) - Design
- named-arguments (wizards-and-warriors-2) - Design
- namespaces (red-vs-blue-darwin-style) - Design
- nested-types (remote-control-cleanup) - Design
- null-coalescing (tim-from-marketing) - Design
- null-conditional (tim-from-marketing) - Design
- null-forgiving (tim-from-marketing) - Design
- nullability (tim-from-marketing) - Design
- nullable-values (tim-from-marketing) - Design
- numbers (cars-assemble) - Design
- numbers (cars-assemble) - Design
- object-initializers (developer-privileges) - Design
- operator-overloading (hyperia-forex) - Design
- optional-arguments (building-telemetry) - Design, Background
- optional-parameters (wizards-and-warriors-2) - Design
- ordering (remote-control-competition) - Design
- out-parameters (building-telemetry) - Design
- overflow (hyperinflation-hits-hyperia) - Design
- parameters (building-telemetry) - Design
- properties (weighing-machine) - Design
- randomness (roll-the-die) - Design
- readonly-collections (authentication-system) - Design
- regular-expressions (parsing-log-files) - Design
- resource-cleanup (object-relational-mapping) - Design
- resource-lifetime (orm-in-one-go) - Design
- sets (faceid-2) - Design, Background
- string-builder (squeaky-clean) - Design
- string-formatting (high-school-sweethearts) - Design
- strings (log-levels) - Design, Background
- structs (land-grab-in-space) - Design
- switch-expressions (the-weather-in-deather) - Design
- switch-statements (football-match-reports) - Design
- ternary-operators (the-weather-in-deather) - Design, Background
- throw-expressions (the-weather-in-deather) - Design
- time (beauty-salon-goes-global) - Design
- timezone (beauty-salon-goes-global) - Design
- tuples (phone-number-analysis) - Design, Background
- unsigned-integers (hyper-optimized-telemetry) - Design
- user-defined-exceptions (instruments-of-texas) - Design
- verbatim-strings (high-school-sweethearts) - Design
- while-loops (interest-is-interesting) - Design
- anonymous-types (anonymous-types)
- async (async)
- attributes-advanced (attributes-advanced) - Issue
- collections-combining (linq)
- collections-filtering (linq)
- collections-mapping (linq)
- collections-ordering (linq)
- collections-reducing (linq)
- contravariance (contravariance)
- covariance (covariance)
- delegates (delegates)
- enumerables (enumerables)
- events (events)
- extension-methods (extension-methods) - Issue
- generics-advanced (generics-advanced)
- higher-order-functions (higher-order-functions) - Background
- indexers (indexers)
- lambdas (lambdas) - Background
- linq (linq) - Background
- linq-advanced (linq-advanced)
- linq-query-syntax (linq-query-syntax)
- linq-select-many (linq-select-many)
- locks (locks)
- pattern-matching-tuples (pattern-matching-tuples) - Issue
- pattern-matching-types (pattern-matching-types) - Issue
- recursion (recursion) - Background
- reflection (reflection)
- serialization (serialization)
- statics (statics)
- streams (streams)
- tasks (tasks)
- thread-safety (thread-safety)
- yield (yield)
- aysnc-iterators (aysnc-iterators)
- boxing (boxing)
- by-ref (by-ref)
- destructors (destructors)
- dispose-pattern (dispose-pattern)
- dynamic (dynamic)
- immutability (immutability) - Background
- immutable-collections (immutable-collections)
- lazy (lazy)
- local-functions (local-functions) - Background
- memory-allocation (memory-allocation) - Issue
- multi-dimensional-array (multi-dimensional-array)
- pointsers (pointers) - Issue
- queues (queues) - Background
- ranges (ranges) - Background
- ref-local (ref-local)
- resource-pooling (resource-pooling) - Issue
- slicing (slicing)
- stacks (stacks) - Background
- time-zones (time-zones)
- unsafe-code (unsafe-code)
- formatting-types (unallocated-concepts)
Concept | Learning Objectives |
---|---|
arrays |
|
assignment |
|
base-class-library |
|
basics |
|
booleans |
|
booleans |
|
casting |
|
chars |
|
classes |
|
collections |
|
constants |
|
constructors |
|
cross-platform |
|
datetimes |
|
defensive-copying |
|
dictionaries |
|
do-while-loops |
|
enums |
|
equality |
|
exception-filtering |
|
exceptions |
|
explicit-interfaces |
|
expression-bodied-members |
|
flag-enums |
|
floating-point-numbers |
|
for-loops |
|
foreach-loops |
|
generic-types |
|
if-statements |
|
implicit-casting |
|
imports |
|
inheritance |
|
integral-numbers |
|
interfaces |
|
interpolation |
|
lists |
|
marker-interfaces |
|
math-operators |
|
method-overloading |
|
named-arguments |
|
namespaces |
|
nested-types |
|
null-coalescing |
|
null-conditional |
|
null-forgiving |
|
nullability |
|
nullable-values |
|
numbers |
|
numbers |
|
object-initializers |
|
operator-overloading |
|
optional-arguments |
|
optional-parameters |
|
ordering |
|
out-parameters |
|
overflow |
|
parameters |
|
properties |
|
randomness |
|
readonly-collections |
|
regular-expressions |
|
resource-cleanup |
|
resource-lifetime |
|
sets |
|
string-builder |
|
string-formatting |
|
strings |
|
structs |
|
switch-expressions |
|
switch-statements |
|
ternary-operators |
|
throw-expressions |
|
time |
|
timezone |
|
tuples |
|
unsigned-integers |
|
user-defined-exceptions |
|
verbatim-strings |
|
while-loops |
|