Updated June 2026 14 hours of live training delivered over 2 days. This course is designed for professional C# developers moving into TypeScript — whether for front-end work, Node.js services, or full-stack roles on .NET-adjacent teams. Every topic is taught by translation: each TypeScript concept is introduced through its C# counterpart, with explicit attention to where the mapping holds, where it breaks, and where C# instincts will lead you astray. TypeScript for C# Programmers gets experienced C# developers productive in TypeScript fast by building on what they already know. The course is translation-focused throughout: it starts with the single biggest mental shift — C#'s nominal classes and interfaces versus TypeScript's structural typing, where compatibility is determined by shape rather than declaration — and uses that lens to work through generics (reified in .NET, erased in TypeScript), LINQ versus array methods like The second day covers the idioms and ecosystem. Participants map C# nullable reference types onto Comprehensive courseware is distributed online at the start of class. All students receive a downloadable MP4 recording of the training.TypeScript for C# Programmers
Class Duration
Student Prerequisites
Target Audience
Description
map, filter, and reduce, and async/await, which looks identical but runs on a single-threaded event loop rather than a thread pool.strictNullChecks, translate enums and records into union types, literal types, and readonly structures, and move from namespaces and assemblies to ES modules. An ecosystem survey maps NuGet onto npm and pnpm, MSBuild onto tsconfig and Vite, and xUnit onto Vitest. The course confronts type erasure head-on: TypeScript types vanish at compile time, so participants learn what replaces reflection — schema validation, type guards, and code generation. The class concludes with two hands-on builds: a small TypeScript web API and a small front-end exercise.Learning Outcomes
map, filter, reduce, and modern array and iterator methodsstrictNullChecks and handle null versus undefinedreadonly structurestsconfig and Vite, xUnit to VitestTraining Materials
Software Requirements
Training Topics
Orientation: Two Type Systems, One Goal
dotnet new to npm createClasses, Interfaces, and Structural Typing
implements: shape compatibilitytype aliases versus interfaceGenerics: Reified vs Erased
where T : versus extendstypeof(T) at runtime: implications and workaroundsLINQ to Array Methods
Select/Where/Aggregate to map/filter/reduceFirst, Any, All to find, some, everyflatMap, Object.groupByAsync/Await and the Event Loop
Task<T> to Promise<T>ConfigureAwait, no thread affinity, no data races — and no parallelism without workersPromise.all versus Task.WhenAllNullability
strictNullChecksnull versus undefined: two nothings instead of one?., ??, and narrowing — familiar operators, structural rulesEnums, Records, and Their TypeScript Counterparts
readonly object types and immutability patternswith expressions versus spread updatesNamespaces and Assemblies to ES Modules
import/export versus using and assembly referencesexports fieldEcosystem Survey: NuGet to npm/pnpm
package.json versus .csprojTooling Mapping
tsconfig and ViteRuntime Types: What Replaces Reflection
GetType(), no attributes: what that rules out