SlideShare a Scribd company logo
By Abhishek Sur

 Website: www.abhisheksur.com
Email : contact@abhisheksur.com
.NET Infrastructure

      User Interface                             Services                             Data Access
   ASP.NET
                       Windows         Windows                Windows
 (WebForms,                                                                                             Entity
                     Presentation   Communication             Workflow           ADO.NET
MVC, Dynamic                                                                                         Framework
                     Foundation       Foundation             Foundation
    Data)




          WinForms                   Data Services                                         LINQ to SQL
                                                                   Cloud
                                       (ODATA)




                                                     Core

               Generics                LINQ                            Dynamic               Async




                                              Base Class Library


                                     Common Language Runtime
Agenda

                • Delegates
                • Events

    Language    • Generics
                • Iterators
     Features   • Extension Methods
      of C#     • LINQ
                • Dynamic Types
                • Async
Delegates
   Delegates are special types
   Delegate points to Methods
   Delegates are not Function Pointers


Events
   Events are Wrappers to Delegates
   Cleaner pattern to handle Delegates
   Only use when you do require
Delegates & Events
Generics
   Type as Template
   Constraint on Generic Types
   It can be applied on Types, Method, Delegates
    etc.


Extension Methods
   Extend your predefined Types without
    inheritance
   Available when appropriate namespace is
    available
Generics &
Extension Methods
Iterators
   Forms a State Machine which can pause –
    Continue a method.
   We create Itreators using yield keyword in C#
    which generates an IEnumerable.
   Any Collection can be represented by
    Ienumerable
   Iterators represents a sequence (finite /
    Infinite)
Iterators
Anonymous Language Object
   Object can exist in language without name
   Cleaner codebase.
   Anonymous methods are used as Closures.
   We use delegate to refer anonymous methods
    and var for types.
LINQ
   Search inside Managed objects
   Simple projection, selection, grouping, joins
    and many more…
Anonymous Types &
             LINQ
Dynamic in .NET 4.0
   CLR is mostly static type
    ◦ Compile time type checking
   DLR added dynamism to .NET
    ◦ Run time type checking
   Object – Static type, base class
   var – is ALSO static type, compiler inferred
   dynamic – Evaluation deferred
   Expandable objects
Dynamic
Going Beyond… (Async)
New Asynchronous Pattern

   Contextual async & await pattern simplifies
    complex Threading model or existing pattern
    of coding
   Async is not about Concurrency but rather it is
    truly asynchrony.
   It can easily plugged in without changing the
    logic.
   Compiler generates state machine to resume
    methods
Async & Await
Why do I Love C#?
Abhishek Sur, MVP (Client App Dev)


         www.abhisheksur.com
        Email: contact@abhisheksur.com
        Twitter : @abhi2434



    Thank you.

More Related Content

PPTX
Hidden Facts of .NET Language Gems
PPTX
Implementing DDD Concepts in PHP
PDF
Context oriented architecture - Put the boundary in the right place
PDF
Clean architecture with ddd layering in php
PDF
Domain-Driven Design with ASP.NET MVC
PDF
Refactoring for Domain Driven Design
PPTX
Azure Service Fabric - weaving services in hyper-scale
PPSX
Introduction to C#
Hidden Facts of .NET Language Gems
Implementing DDD Concepts in PHP
Context oriented architecture - Put the boundary in the right place
Clean architecture with ddd layering in php
Domain-Driven Design with ASP.NET MVC
Refactoring for Domain Driven Design
Azure Service Fabric - weaving services in hyper-scale
Introduction to C#

What's hot (17)

PPTX
Entity Framework and Domain Driven Design
PPT
Cross-Lingual Web API Classification
PPTX
Domain Driven Design Quickly
PPT
Zenyan Visualized
PPTX
Sap ep admin online training
PPTX
Domain driven design
PDF
Hexagonal
PDF
Elements of DDD with ASP.NET MVC & Entity Framework Code First
PDF
Android application development
PPTX
EF6 and DDD
PPTX
Domain driven design
PDF
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
PPTX
The .net remote systems
PDF
Automation strategies for agile testing Gaurav bansal
PPT
Dot NET Remoting
PDF
Introduction to-ddd
PPTX
Implementing DDD with C#
Entity Framework and Domain Driven Design
Cross-Lingual Web API Classification
Domain Driven Design Quickly
Zenyan Visualized
Sap ep admin online training
Domain driven design
Hexagonal
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Android application development
EF6 and DDD
Domain driven design
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
The .net remote systems
Automation strategies for agile testing Gaurav bansal
Dot NET Remoting
Introduction to-ddd
Implementing DDD with C#
Ad

Viewers also liked (11)

PDF
Utilising Visual Features as Indicators of Players Engagement - Data Mining D...
PDF
An Implementation of Quadtree for Image Compression
PDF
STYX Foodiac Nutrition System - Documentation
PDF
CROSPELL ENGINE, A Natural Language Processing Approach - Documentation
PDF
Short, Matters, Love - Passioneers Event 2015
PDF
PCG in First Person Shooter Games through Player Modeling - Documentation
PDF
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
PPTX
Introduction to Game Development
PDF
Unity L01 - Game Development
PDF
How to Make Awesome SlideShares: Tips & Tricks
PDF
Getting Started With SlideShare
Utilising Visual Features as Indicators of Players Engagement - Data Mining D...
An Implementation of Quadtree for Image Compression
STYX Foodiac Nutrition System - Documentation
CROSPELL ENGINE, A Natural Language Processing Approach - Documentation
Short, Matters, Love - Passioneers Event 2015
PCG in First Person Shooter Games through Player Modeling - Documentation
Ultra Fast, Cross Genre, Procedural Content Generation in Games [Master Thesis]
Introduction to Game Development
Unity L01 - Game Development
How to Make Awesome SlideShares: Tips & Tricks
Getting Started With SlideShare
Ad

Similar to Why do I Love C#? (20)

PPTX
Overview Of .Net 4.0 Sanjay Vyas
PDF
MS.NET Training
DOC
10266 developing data access solutions with microsoft visual studio 2010
DOC
10265 developing data access solutions with microsoft visual studio 2010
PPTX
Introduction to .NET with C# @ university of wayamba
PPTX
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
PPTX
Visual Studio 2010 and .NET Framework 4.0 Overview
PPTX
Introduction of c# day1
PDF
C# 3.0 and 4.0
PDF
Summer Training In Dotnet
PDF
Summer training in dotnet
PDF
Dot net training bangalore
PPTX
Windows 8 für .net Entwickler
PPTX
Getting started with entity framework
PDF
Net framework
PDF
Syllabus PS03CINT05 detailing
PPTX
Web-Dev Portfolio
PPT
Visual studio.net
PDF
6 Months Net
PPTX
.net Framework
Overview Of .Net 4.0 Sanjay Vyas
MS.NET Training
10266 developing data access solutions with microsoft visual studio 2010
10265 developing data access solutions with microsoft visual studio 2010
Introduction to .NET with C# @ university of wayamba
Visual Studio 2010 IDE Enhancements - Alex Mackey, Readify
Visual Studio 2010 and .NET Framework 4.0 Overview
Introduction of c# day1
C# 3.0 and 4.0
Summer Training In Dotnet
Summer training in dotnet
Dot net training bangalore
Windows 8 für .net Entwickler
Getting started with entity framework
Net framework
Syllabus PS03CINT05 detailing
Web-Dev Portfolio
Visual studio.net
6 Months Net
.net Framework

More from Abhishek Sur (20)

PPTX
Azure servicefabric
PPT
Building a bot with an intent
PPTX
Code review
PPTX
C# 7.0 Hacks and Features
PPTX
Angular JS, A dive to concepts
PPTX
Stream Analytics Service in Azure
PPTX
Designing azure compute and storage infrastructure
PPTX
Working with Azure Resource Manager Templates
PPTX
F12 debugging in Ms edge
PPTX
Mobile Services for Windows Azure
PPTX
Service bus to build Bridges
PPTX
Windows azure pack overview
PPTX
AMicrosoft azure hyper v recovery manager overview
PPTX
Di api di server b1 ws
PPTX
Integrating cortana with wp8 app
PPTX
Asp.net performance
PPTX
Introduction to XAML and its features
PPTX
SQL Server2012 Enhancements
PPTX
Dev days Visual Studio 2012 Enhancements
PPTX
ASP.NET 4.5 webforms
Azure servicefabric
Building a bot with an intent
Code review
C# 7.0 Hacks and Features
Angular JS, A dive to concepts
Stream Analytics Service in Azure
Designing azure compute and storage infrastructure
Working with Azure Resource Manager Templates
F12 debugging in Ms edge
Mobile Services for Windows Azure
Service bus to build Bridges
Windows azure pack overview
AMicrosoft azure hyper v recovery manager overview
Di api di server b1 ws
Integrating cortana with wp8 app
Asp.net performance
Introduction to XAML and its features
SQL Server2012 Enhancements
Dev days Visual Studio 2012 Enhancements
ASP.NET 4.5 webforms

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Modernizing your data center with Dell and AMD
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Modernizing your data center with Dell and AMD
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25 Week I
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Why do I Love C#?

  • 1. By Abhishek Sur Website: www.abhisheksur.com Email : contact@abhisheksur.com
  • 2. .NET Infrastructure User Interface Services Data Access ASP.NET Windows Windows Windows (WebForms, Entity Presentation Communication Workflow ADO.NET MVC, Dynamic Framework Foundation Foundation Foundation Data) WinForms Data Services LINQ to SQL Cloud (ODATA) Core Generics LINQ Dynamic Async Base Class Library Common Language Runtime
  • 3. Agenda • Delegates • Events Language • Generics • Iterators Features • Extension Methods of C# • LINQ • Dynamic Types • Async
  • 4. Delegates  Delegates are special types  Delegate points to Methods  Delegates are not Function Pointers Events  Events are Wrappers to Delegates  Cleaner pattern to handle Delegates  Only use when you do require
  • 6. Generics  Type as Template  Constraint on Generic Types  It can be applied on Types, Method, Delegates etc. Extension Methods  Extend your predefined Types without inheritance  Available when appropriate namespace is available
  • 8. Iterators  Forms a State Machine which can pause – Continue a method.  We create Itreators using yield keyword in C# which generates an IEnumerable.  Any Collection can be represented by Ienumerable  Iterators represents a sequence (finite / Infinite)
  • 10. Anonymous Language Object  Object can exist in language without name  Cleaner codebase.  Anonymous methods are used as Closures.  We use delegate to refer anonymous methods and var for types. LINQ  Search inside Managed objects  Simple projection, selection, grouping, joins and many more…
  • 12. Dynamic in .NET 4.0  CLR is mostly static type ◦ Compile time type checking  DLR added dynamism to .NET ◦ Run time type checking  Object – Static type, base class  var – is ALSO static type, compiler inferred  dynamic – Evaluation deferred  Expandable objects
  • 15. New Asynchronous Pattern  Contextual async & await pattern simplifies complex Threading model or existing pattern of coding  Async is not about Concurrency but rather it is truly asynchrony.  It can easily plugged in without changing the logic.  Compiler generates state machine to resume methods
  • 18. Abhishek Sur, MVP (Client App Dev) www.abhisheksur.com Email: contact@abhisheksur.com Twitter : @abhi2434 Thank you.