C#: language and application decisions
Learn C# 14 and .NET 10 through types, objects, LINQ, JSON and async tasks. Practice interpretation and diagnosis through selection questions.
Modules and lessons
Open a lesson to begin. Follow the sequence or revisit any concept.
Types, conversions and numeric boundaries
Trace each operation’s types, preserve numeric bounds and distinguish absence, parsing and validation.
45 minReferences, nullability and text
Distinguish value and reference copies, apply null guards and select string rules matching the contract.
45 minMethods, parameters and patterns
Trace a call’s effects, distinguish parameter contracts and classify inputs with explicit rules.
50 minObjects, interfaces and records
Choose behavioral contracts, interpret dispatch and preserve identity and data when creating variants.
50 minCollections, generics and equality
Choose collections and comparers, preserve identity and distinguish a view from an independent sequence.
50 minLINQ, deferred work and materialization
Distinguish defining a query from obtaining results, retain report values and diagnose cardinality, ordering and deferred failures.
50 minExceptions, resources and files
Classify failures without hiding causes, define resource ownership and interpret file reads with explicit limits.
50 minDecimals, time and data contracts
Preserve numeric and temporal meaning and distinguish presence, null and validity when reading JSON.
50 minAsync tasks and cancellation
Interpret task completion, separate cancellation from timeout and preserve resources and permits throughout dependent work.
50 minBuilds, dependencies and runtime diagnosis
Distinguish language, SDK, dependencies and runtime; interpret configuration and delivery failures using evidence from the right artifact.
50 minObjectives and progression
Learn C# 14 and .NET 10 through types, objects, LINQ, JSON and async tasks. Practice interpretation and diagnosis through selection questions.
Audience
C# learners, developers and support teams needing to understand code and justify decisions.
Prerequisites
Basic familiarity with variables, conditions and functions. No .NET SDK installation is required to answer assessments.
What you will learn
- Distinguish conversions, nullability, equality and object contracts.
- Interpret collections, LINQ and resources with explicit evaluation and lifetime boundaries.
- Validate data contracts and understand completion, timeout and cancellation.
- Diagnose dependencies, configuration and differences between build and publication.
What is available
10 lessons · 100 regular questions · 20 cases
Internal final assessment: 40 exercises in 90 minutes. Full mock exams are not yet available.
Assessments and mock exams reuse path exercises. They do not award certifications or guarantee passing an external exam.
Scope, review and limitations
Ten lessons with 100 regular questions and 20 original cases. Learn to interpret types and contracts, predict outcomes and diagnose failures in objects, collections, LINQ, files, JSON, tasks and delivery. All assessments use single or multiple selection with code excerpts and scenarios, without program execution. The final assessment reuses 40 course items in 90 minutes. Scope covers C# and the .NET base library; ASP.NET Core is planned as a separate path. The reference is C# 14 with .NET 10, without preview features.
Internal 40-question assessment in 90 minutes, reusing course items, with single or multiple selection and no code execution. It is not an official exam and awards no external certification.
Independent education and assessment with original questions and scenarios. No Microsoft affiliation, authorization, sponsorship or endorsement, and no official certification award. Microsoft is a trademark of the Microsoft group of companies. All other trademarks are the property of their respective owners.
References and version
Find the sources, content version and scope of this path.
Path content version
C# 14 / .NET 10; no preview features
Content reviewed on 13 Oct 2026
Learning sources
- C# language versioningConsulted on 13 Oct 2026
- .NET Support PolicyConsulted on 13 Oct 2026
- Built-in numeric conversionsConsulted on 13 Oct 2026
- Arithmetic operatorsConsulted on 13 Oct 2026
- Checked and unchecked statementsConsulted on 13 Oct 2026
Show 77 more references
- Nullable value typesConsulted on 13 Oct 2026
- Nullable reference typesConsulted on 13 Oct 2026
- Value typesConsulted on 13 Oct 2026
- Best practices for comparing strings in .NETConsulted on 13 Oct 2026
- Boolean logical operatorsConsulted on 13 Oct 2026
- Implicitly typed local variablesConsulted on 13 Oct 2026
- Boxing and unboxingConsulted on 13 Oct 2026
- Null-forgiving operatorConsulted on 13 Oct 2026
- Member access and null-conditional operatorsConsulted on 13 Oct 2026
- Int32.TryParse MethodConsulted on 13 Oct 2026
- Built-in reference typesConsulted on 13 Oct 2026
- Method parameters and modifiersConsulted on 13 Oct 2026
- Pattern matching operatorsConsulted on 13 Oct 2026
- switch expressionConsulted on 13 Oct 2026
- Named and optional argumentsConsulted on 13 Oct 2026
- C# record typesConsulted on 13 Oct 2026
- PolymorphismConsulted on 13 Oct 2026
- Explicit Interface ImplementationConsulted on 13 Oct 2026
- required modifierConsulted on 13 Oct 2026
- List<T>.CapacityConsulted on 13 Oct 2026
- Dictionary<TKey,TValue>Consulted on 13 Oct 2026
- HashSet<T>.AddConsulted on 13 Oct 2026
- Dictionary<TKey,TValue>.TryAddConsulted on 13 Oct 2026
- Dictionary<TKey,TValue>.TryGetValueConsulted on 13 Oct 2026
- List<T>.EnumeratorConsulted on 13 Oct 2026
- IReadOnlyList<T>Consulted on 13 Oct 2026
- Covariance and contravariance in genericsConsulted on 13 Oct 2026
- HashSet<T> constructorsConsulted on 13 Oct 2026
- Dictionary<TKey,TValue>.AddConsulted on 13 Oct 2026
- Introduction to LINQ queriesConsulted on 13 Oct 2026
- Enumerable.WhereConsulted on 13 Oct 2026
- Enumerable.SelectConsulted on 13 Oct 2026
- Enumerable.ToListConsulted on 13 Oct 2026
- Enumerable.SingleConsulted on 13 Oct 2026
- Enumerable.FirstOrDefaultConsulted on 13 Oct 2026
- Enumerable.ThenByConsulted on 13 Oct 2026
- Enumerable.OrderByConsulted on 13 Oct 2026
- Lambda expressions: capture of outer variablesConsulted on 13 Oct 2026
- Exception-handling statementsConsulted on 13 Oct 2026
- using statement and declarationConsulted on 13 Oct 2026
- File.ReadAllTextConsulted on 13 Oct 2026
- File.ExistsConsulted on 13 Oct 2026
- Path.CombineConsulted on 13 Oct 2026
- StreamReader constructors and leaveOpenConsulted on 13 Oct 2026
- StringReader.ReadLineConsulted on 13 Oct 2026
- File.OpenTextConsulted on 13 Oct 2026
- C# specification: using statementConsulted on 13 Oct 2026
- Math.RoundConsulted on 13 Oct 2026
- Decimal.TryParseConsulted on 13 Oct 2026
- DateOnly and TimeOnlyConsulted on 13 Oct 2026
- Required JSON propertiesConsulted on 13 Oct 2026
- Respect nullable annotationsConsulted on 13 Oct 2026
- DateTimeOffset.EqualsConsulted on 13 Oct 2026
- DateTime.SpecifyKindConsulted on 13 Oct 2026
- JSON property name matchingConsulted on 13 Oct 2026
- Choosing date and time typesConsulted on 13 Oct 2026
- Unmapped JSON membersConsulted on 13 Oct 2026
- Task asynchronous programming modelConsulted on 13 Oct 2026
- Task.WhenAllConsulted on 13 Oct 2026
- CancellationToken.ThrowIfCancellationRequestedConsulted on 13 Oct 2026
- Task.WaitAsyncConsulted on 13 Oct 2026
- Cooperative cancellationConsulted on 13 Oct 2026
- SemaphoreSlim.WaitAsyncConsulted on 13 Oct 2026
- Task.ExceptionConsulted on 13 Oct 2026
- Async return typesConsulted on 13 Oct 2026
- SemaphoreSlim.ReleaseConsulted on 13 Oct 2026
- Await operatorConsulted on 13 Oct 2026
- SDK selection with global.jsonConsulted on 13 Oct 2026
- dotnet CLI environment informationConsulted on 13 Oct 2026
- dotnet restoreConsulted on 13 Oct 2026
- .NET publishing modesConsulted on 13 Oct 2026
- Target framework monikersConsulted on 13 Oct 2026
- NETSDK1022 duplicate compile itemsConsulted on 13 Oct 2026
- CopyToPublishDirectory metadataConsulted on 13 Oct 2026
- Trimming and reflection warningsConsulted on 13 Oct 2026
- NuGet dependency lockingConsulted on 13 Oct 2026
- NETSDK1004 missing assets fileConsulted on 13 Oct 2026
Independent preparation. Check the objectives, available content and coverage limits when planning your study.
Independent education and assessment with original questions and scenarios. No Microsoft affiliation, authorization, sponsorship or endorsement, and no official certification award. Microsoft is a trademark of the Microsoft group of companies. All other trademarks are the property of their respective owners.
Microsoft is a trademark of the Microsoft group of companies. This independent path is not affiliated with, authorized, sponsored or endorsed by Microsoft. All other trademarks are the property of their respective owners.