Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS AWS Certified Developer - Associate CompTIA Security+
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 5 hours on-demand video
  • 11 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Programming Languages C#

Advanced Topics in C#

A discussion of the more complicated aspects of the C# language
Rating: 4.6 out of 54.6 (69 ratings)
661 students
Created by Dmitri Nesteruk
Last updated 1/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Apply sophisticated C# solutions to problems
  • Explore different programming styles and approaches

Course content

7 sections • 43 lectures • 4h 45m total length

  • Preview04:04

  • Overview
    00:59
  • Integral Types
    12:52
  • BigInteger
    03:05
  • Floating-Point Types
    10:26
  • Decimal
    02:29
  • Introduction to SIMD
    09:20
  • SIMD Intrinsics
    08:46
  • Preview08:35
  • Summary
    04:47

  • Overview
    01:27
  • System.Type
    10:40
  • Inspection
    07:38
  • Construction
    13:57
  • Invocation
    10:02
  • Preview05:08
  • Attributes
    06:44
  • Summary
    01:04

  • Overview
    02:08
  • Dynamic
    06:31
  • Preview08:56
  • Dynamic for XML Parsing
    05:00
  • ExpandoObject
    07:46
  • Visitor Pattern with Dynamic Dispatch
    09:08
  • Summary
    01:31

  • Overview
    01:02
  • Extension Methods
    14:51
  • Extension Methods and Persistence
    04:41
  • Extension Method Patterns
    09:11
  • Extension Methods and the the Maybe Monad
    14:46
  • Summary
    01:36

  • Overview
    01:14
  • 'in' Parameters
    10:48
  • 'ref readonly' Variables
    06:14
  • 'ref struct' and Span<T>
    07:34
  • Span<T> Demo
    06:43
  • Summary
    01:18

  • Overview
    00:22
  • Preview08:11
  • Continuation Passing Style
    11:06
  • Local Inversion of Control
    17:42
  • Mnemonics
    04:30
  • End of Course
    00:48

Requirements

  • Deep knowledge of the C# programming language
  • Familiarity with key .NET data structures and algorithms
  • Good command of modern IDEs and developer tools

Description

This course presents a collection of interesting/unusual case studies where C# is used to solve a particular problem. This course is 100% practical, and demonstrates mainly the practical applications of C# in building solutions to common problems.

The main themes covered in this course are:

  • Numerics — the specifics of how to work with numeric types in .NET, with a focus on SIMD data types and operations.

  • Reflection — how to operate reflection mechanisms to investigate assemblies and types, how to create types and invoke their members. Also a look at the practical use of reflection for working with attributes.

  • Memory Management — a discussion of latest C# features for high performance computation, such as the passing of value types by reference, ref structs and Span<T>.

  • Extension Methods — a seemingly simple mechanism has plenty of advanced uses.

In addition, this course comes with a section dedicated to assorted topics that also showcase advanced uses of C#. These topics include:

  • Exploiting IDisposable — shows how you can abuse the IDisposable/using mechanism in order to dynamically define operations as pairs of start/end calls. Useful for things like simple performance measurement.

  • Continuation Passing Style — demonstrates how you can define complex algorithms in terms of sequentially invoked methods with customized return types indicating the result of the operation.

  • Local Inversion of Control shows that sometimes inversion of control happens at a local scale. Here we use extension methods to invert control on a bunch of different data types, providing useful functionality.

  • Beyond the Maybe Monad — even though C# introduced the ?. operator in order to chain null checks together, the classic monad implementation, based on extension methods, is still relevant, as it can also handle other scenarios.

  • Mnemonics — not so much a C# language feature but rather an interesting way of defining huge sets of similar code templates that can be expanded quickly to the code constructs you need the most.

Course Pre-Requisites

  • Good understanding of C#

  • Understanding of object-oriented programming (OOP)

  • Experience writing real-world C# applications

Course Organization

  • 100% hands-on

  • Demonstrated either in Visual Studio or using the Kinetica rendering engine

  • Demos are single .CS files

  • Heavy use of IDE features

  • Ad-hoc use of 3rd-party packages

Enjoy!

Who this course is for:

  • Experienced C# developers
  • C#/.NET Architects

Instructor

Dmitri Nesteruk
Software/Hardware Engineering • Quant Finance • Algotrading
Dmitri Nesteruk
  • 4.4 Instructor Rating
  • 25,683 Reviews
  • 134,894 Students
  • 21 Courses

Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.