C# and the .NET Framework

Reading Resources

C#

  • C# Guide
    • Type System
    • Namespaces
    • Basic Types
    • Classes
    • Structs
    • Tuples
    • Interfaces
      • Methods
      • Lambda Expressions
    • Properties
    • Indexers
    • Discards
    • Generics
    • Iterators
    • Delegates & Events
    • LINQ
    • Asynchronous
    • Pattern Matching
    • Reference Semantics with Value Types
    • Expression Trees
  • C# Reference
    • Keywords
    • Operators
    • Special Characters
    • Preprocessor Directives
    • Compiler Options
    • Compiler Errors
  • C# Language Specification
    • Lexical Structure
    • Basic Concepts
    • Types
    • Variables
    • Conversions
    • Expressions
    • Statements
    • Namespaces
    • Classes
    • Structs
    • Arrays
    • Interfaces
    • Enums
    • Delegates
    • Exceptions
    • Attributes
    • Unsafe Code
    • Comments
  • C# Programming Guide
    • Arrays
    • Classes and Structs
    • Delegates
    • Enumeration Types
    • Events
    • Exceptions and Exception Handling
    • File System and the Registry
    • Generics
    • Indexers
    • Interoperability
    • Main() and Command-Line Arguments
    • Namespaces
    • Nullable Types
    • Programming Concepts
    • Statements, Expressions, and Operators
    • Strings
    • Types
    • Unsafe Code and Pointers
    • XML Documentation Comments

.NET

  • .NET Guide
    • .NET Architectural Components
      • .NET Standard
      • .NET Implementations
        • .NET Core
        • .NET Framework
        • Mono
        • Universal Windows Platform (UWP)
      • .NET Runtimes
        • Common Language Runtime (CLR)
        • Core Common Language Runtime (CoreCLR)
        • .NET Native for Universal Windows Platform (UWP)
        • Mono Runtime for Xamarin.iOS, Xamarin.Android, Xamarin.Mac, and Mono Desktop Framework.
      • .NET Tooling and Common Infrastructure
    • .NET Glossary
      • AOT, ASP.NET, ASP.NET Core, assembly, CLR, CoreCLR, CoreFX, CoreRT, ecosystem, framework, GC, IL, JIT, Implementation of .NET, library, metapackage, Mono, .NET, .NET Core, .NET Core CLI, .NET Core SDK, .NET Framework, .NET Native, .NET Standard, NGEN, package, platform, runtime, stack, target framework, TFM, UWP.
    • .NET Architecture Guidance
      • Containerized Docker Application Lifecycle with the Microsoft Platform and Tools
      • Modernize Existing .NET Applications with Azure Cloud and Windows Containers
      • Architect Modern Web Applications with ASP.NET Core and Azure
      • Architecting Container and Microservice Based Applications
    • Common Language Runtime
    • Framework Libraries
      • Base Class Libraries (BCL)
      • Primitive Types
      • Data Structures
        • Array
        • List<T>
        • Dictionary<TKey,TValue>
        • Uri
        • DateTime
      • Utility APIs
        • HttpClient
        • XDocument
        • StreamReader
      • App-Model APIs
        • ASP.NET
      • Base Types
        • Common Type System
        • Type Conversion in .NET
        • Formatting Types
        • Manipulating Strings
        • Parsing Strings
    • .NET Class Libraries
      • Platform-Specific
      • Portable Class Libraries
      • .NET Standard
      • Mono
    • Analyzers
    • Handling and Throwing Exceptions
    • .NET Assembly File Format
    • Garbage Collection
    • Generic Types
    • Delegates and Lambdas
    • LINQ
    • Asynchronous Programming
    • Collections and Data Structures
    • Numerics in .NET
    • Dates, Times, and Time Zones
    • Events
    • Application Essentials
      • Base Types
      • Collections and Data Structures
      • Generics
      • Numerics
      • Events
      • Exceptions
      • File and Stream IO
      • Dates, Times, and Time Zones,
      • Application Domains and Assemblies
      • Serialization
      • Resources in Desktop Apps
      • Globalization and Localization
      • Attributes
      • 64-Bit Applications
    • File & Stream IO
    • Globalization and Localization
    • Attributes
    • Framework Design Guidelines
      • Naming Guidelines
      • Type Design Guidelines
      • Member Design Guidelines
      • Designing for Extensibility
      • Design Guides for Exceptions
      • Usage Guidelines
      • Common Design Patterns
    • XML Documents and Data
    • Threading
    • Parallel Programming
    • Security
    • Serialization
    • Developing for Multiple Platforms
  • .NET Core Guide
    • Packages, Metapackages and Frameworks
      • System.Runtime – includes Object, String, Array, Action, IList<T>, etc.
      • System.Collections – Set of mainly generic collections including List<T> and Dictionary<TKey,TValue>
      • System.Net.Http
      • System.IO.Filesystem
      • System.Linq
      • System.Reflection
    • Application Deployment
    • Docker
    • Unit Testing
    • Versioning
    • .NET Core SDK Overview
    • .NET Core CLI Tools
    • .NET Core Additional Tools
    • Porting from .NET Framework

ASP.NET Core

  • Tutorials
    • Create a Razor Pages Web App
    • Create an MVC Web App
    • Build Web APIs
    • Data Access – With EF Core
    • Cross Platform Tutorials
    • Create Backend Services for Mobile Apps
  • Fundamentals
    • Startup
    • Content Root
    • Web Root
    • Dependency Injection (Services)
    • Middleware
    • Environments
    • Configuration
    • Logging
    • Error Handling
    • Routing
    • File Providers
    • Static Files
    • Hosting
    • Session and Application State
    • Servers
      • Kestrel
      • ASP.NET Core Module
      • HTTP.sys
    • Globalization and Localization
    • Request Features
    • Background Tasks
    • Open Web Interface for .NET (OWIN)
    • WebSockets
    • Microsoft.AspNetCore.All Metapackage
    • .NET Core vs. .NET Framework Runtime
    • Choose Between ASP.NET Core and ASP.NET
  • ASP.NET Core MVC
    • Razor Pages
    • Model Binding
    • Views
      • Razor Syntax
      • View Compilation
      • Layout
      • Tag Helpers
        • Create
        • Use in Forms
        • Built-In
          • Anchor
          • Cache
          • Distributed Cache
          • Environment
          • Image
          • Partial
      • Partial Views
      • Dependency Injection into Views
      • View Components
    • Controllers
    • Advanced
      • Work with the App Model
      • Filters
      • Areas
      • Application Parts
      • Custom Model Binding
      • Custom Formatters
      • Format Response Data
    • Test and Debug
      • Unit Testing
      • Integration Testing
      • Razor Pages Testing
      • Test Controllers
      • Remote Debugging
      • Snapshot Debugging
    • Data Access with EF Core and Azure
      • Razor Pages and EF Core
        • CRUD
        • Sort, Filter, Page, and Group
        • Migrations
        • Create a Complex Data Model
        • Read Related Data
        • Update Related Data
        • Handle Concurrency Conflicts
      • Data Access – MVC with EF Core
        • CRUD
        • Sort, Filter, Page, and Group
        • Migrations
        • Create a Complex Data Model
        • Read Related Data
        • Update Related Data
        • Handle Concurrency Conflicts
        • Inheritance
        • Advanced Concepts
      • Azure Storage
    • Client Side Development
      • Gulp
      • Grunt
      • Bower
      • Bootstrap
      • LESS, Sass, and Font Awesome
      • Bundle and Minify
      • Browser Link
      • JavaScript Services for SPAs
      • SPA Project Templates
        • Angular
        • React
        • React with Redux
    • SignalR
      • Transports
      • Hubs and Endpoints
    • Mobile
    • Host and Deploy
      • Azure App Service
      • Windows with IIS
      • Windows Server
      • Linux with Nginx
      • Linux with Apache
      • Docker
    • Security
      • Authentication
        • Community OSS Authentication Options
        • Introduction to Identity
        • Configure Identity
        • Configure Windows Authentication
        • Configure Primary Key Type for Identity
        • Custom Storage Providers for Identity
        • Enabled Authentication Using Facebook, Google, and Other External Providers
        • WS-Federation Authentication
        • Account Confirmation and Password Recovery
        • Enable QR Code Generation in Identity
        • Two-Factor Authentication with SMS
        • Use Cookie Authentication without Identity
        • Azure Active Directory
        • Secure ASP.NET Core Apps with Identity Server4
        • Security ASP.NET Core Apps with Azure App Service Authentication (Easy Auth)
        • Individual User Accounts
      • Authorization
        • Razor Pages
        • Simple
        • Role-Based
        • Claims-Based
        • Policy-Based
        • Dependency Injection in Requirement Handlers
        • Resource-Based
        • View-Based
        • Limit Identity by Scheme
      • Data Protection
        • Consumer APIs
        • Configuration
        • Extensibility APIs
        • Implementation
        • Compatibility
      • Enforce HTTPS
      • Safe Storage of App Secrets in Development
      • Azure Key Vault Configuration Provider
      • Anti-Request Forgery
      • Prevent Open Redirect Attacks
      • Prevent Cross-Site Scripting
      • Enable Cross-Origin Requests (CORS)
      • Share Cookies Among Apps
    • Performance
    • Migration
    • API Reference

.NET API Browser

  • .NET Core API Reference:
  • Microsoft.CSharp
  • Microsoft.SqlServer
  • Microsoft.VisualBasic
  • Microsoft.Win32
  • System
    • .Buffers
    • .CodeDom
    • .Collections
      • .Concurrent
      • .Generic
      • .Immutable
      • .ObjectModel
      • .Specialized
    • .ComponentModel
      • .DataAnnotations
      • .Design.Serialization
    • .Composition
    • .Configuration
    • .Data
      • .Common
      • .Odbc
      • .OleDb
      • .OracleClient
      • .SqlClient
      • .SqlTypes
    • .Diagnostics
    • .DirectoryServices
    • .Drawing
    • .Dynamic
    • .Globalization
    • .IO
      • .Compression
      • .IsolatedStorage
      • .MemoryMappedFiles
      • .Packaging
      • .Pipes
      • .Ports
    • .IdentityModel
    • .Json
    • .Linq
    • .Net
      • .Cache
      • .Http
      • .Http.Headers
      • .Mail
      • .Mime
      • .NetworkInformation
      • .PeerToPeer
      • .Security
      • .Sockets
      • .WebSockets
    • .Numerics
    • .Reflection
    • .Resources
    • .Runtime
      • .Serialization
      • .Versioning
    • .Security
      • .AccessControl
      • .Claims
      • .Cryptography
      • .Permissions
      • .Policy
      • .Principal
    • .ServiceModel
      • .Channels
      • .Description
      • .Dispatcher
      • .Security
    • .ServiceProcess
    • .Text
      • .Encodings.Web
      • .RegularExpressions
      • .Unicode
    • .Threading
    • .Timers
    • .Transactions
    • .Web
    • .Windows.Input
    • .Xml
      • .Linq
      • .Resolvers
      • .Schema
      • .Serialization
      • .XPath
      • .Xsl
  • ASP.NET Core API Reference:
  •  Microsoft.AspNetCore
    • .Authentication
    • .Authorization
    • .AzureAppServices
    • .Builder
    • .CookiePolicy
    • .Cors
    • .Cryptography
    • .DataProtection
    • .Diagnostics
    • .Hosting
    • .Html
    • .Http
    • .Http.Authentication
    • .Http.Extensions
    • .Http.Features
    • .Http.Headers
    • .Http.Internal
    • .HttpOverrides
    • .Identity
    • .JsonPatch
    • .Localization
    • .MiddlewareAnalysis
    • .Mvc
      • .Abstractions
      • .ActionConstraints
      • .ApiExplorer
      • .ApplicationModels
      • .ApplicationParts
      • .Authorization
      • .Controllers
      • .Cors
      • .DataAnnotations
      • .Filters
      • .Formatters
      • .Infrastructure
      • .ModelBinding
      • .Razor
        • .Compilation
        • .Extensions
        • .Internal
        • .TagHelpers
        • .RazorPages
      • .Rendering
      • .Routing
      • .TagHelpers
      • .ViewComponents
      • .ViewEngines
      • .ViewFeatures
      • .WebApiCompatShim
    • .NodeServices
    • .Owin
    • .Razor.Language
      • .CodeGeneration
      • .Extensions
      • .Intermediate
      • .Runtime
    • .Razor.TagHelpers
    • .ResponseCaching
    • .ResponseCompression
    • .Rewrite
    • .Routing
    • .Server
    • .Session
    • .SpaServices
    • .StaticFiles
    • .TestHost
    • .WebSockets
    • .WebUtilities
  • .Extensions
    • Caching
    • Configuration
    • .DependencyInjection
    • .DiagnosticAdapter
    • .FileProviders
    • .FileSystem
    • .Hosting
    • .Localization
    • .Logging
    • .ObjectPool
    • .Options
    • .Primitives
    • .WebEncoders
  • .Net.Http.Headers
  • .Owin.Security.Interop
  • .Net.Http.Formatting

.NET Application Architecture

  • Microservices & Docker
  • Modernizing .NET Apps
  • Deploying with Azure
  • ASP.NET Web Applications
  • Xamarin Mobile Apps
  • UWP Apps