SlideShare une entreprise Scribd logo
1  sur  18
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
Abhishek Sur, MVP (Client App Dev)


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



    Thank you.

Contenu connexe

Tendances

Cross-Lingual Web API Classification
Cross-Lingual Web API ClassificationCross-Lingual Web API Classification
Cross-Lingual Web API Classification
mmaleshkova
 
Hexagonal
HexagonalHexagonal
Hexagonal
jglobal
 
Android application development
Android application developmentAndroid application development
Android application development
Linh Vi Tường
 
The .net remote systems
The .net remote systemsThe .net remote systems
The .net remote systems
Raghu nath
 

Tendances (17)

Entity Framework and Domain Driven Design
Entity Framework and Domain Driven DesignEntity Framework and Domain Driven Design
Entity Framework and Domain Driven Design
 
Cross-Lingual Web API Classification
Cross-Lingual Web API ClassificationCross-Lingual Web API Classification
Cross-Lingual Web API Classification
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
Zenyan Visualized
Zenyan VisualizedZenyan Visualized
Zenyan Visualized
 
Sap ep admin online training
Sap ep admin online trainingSap ep admin online training
Sap ep admin online training
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Hexagonal
HexagonalHexagonal
Hexagonal
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
Android application development
Android application developmentAndroid application development
Android application development
 
EF6 and DDD
EF6 and DDDEF6 and DDD
EF6 and DDD
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
 
The .net remote systems
The .net remote systemsThe .net remote systems
The .net remote systems
 
Automation strategies for agile testing Gaurav bansal
Automation strategies for agile testing  Gaurav bansalAutomation strategies for agile testing  Gaurav bansal
Automation strategies for agile testing Gaurav bansal
 
Dot NET Remoting
Dot NET RemotingDot NET Remoting
Dot NET Remoting
 
Introduction to-ddd
Introduction to-dddIntroduction to-ddd
Introduction to-ddd
 
Implementing DDD with C#
Implementing DDD with C#Implementing DDD with C#
Implementing DDD with C#
 

En vedette

Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Sumit Jain
 

En vedette (11)

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

Similaire à Why do I Love C#?

Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
rsnarayanan
 
WCF, EF, Katmanlı Model
WCF, EF, Katmanlı ModelWCF, EF, Katmanlı Model
WCF, EF, Katmanlı Model
zenithbilisim
 
10265 developing data access solutions with microsoft visual studio 2010
10265 developing data access solutions with microsoft visual studio 201010265 developing data access solutions with microsoft visual studio 2010
10265 developing data access solutions with microsoft visual studio 2010
bestip
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayamba
Prageeth Sandakalum
 
Project_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_finalProject_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_final
Jerin John
 

Similaire à Why do I Love C#? (20)

Nuno Godinho
Nuno GodinhoNuno Godinho
Nuno Godinho
 
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
 
Introduction to WCF RIA Services for Silverlight 4 Developers
Introduction to WCF RIA Services for Silverlight 4 DevelopersIntroduction to WCF RIA Services for Silverlight 4 Developers
Introduction to WCF RIA Services for Silverlight 4 Developers
 
Help desk
Help deskHelp desk
Help desk
 
Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010Building N Tier Applications With Entity Framework Services 2010
Building N Tier Applications With Entity Framework Services 2010
 
LINQ/PLINQ
LINQ/PLINQLINQ/PLINQ
LINQ/PLINQ
 
WCF, EF, Katmanlı Model
WCF, EF, Katmanlı ModelWCF, EF, Katmanlı Model
WCF, EF, Katmanlı Model
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Linq
LinqLinq
Linq
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
10265 developing data access solutions with microsoft visual studio 2010
10265 developing data access solutions with microsoft visual studio 201010265 developing data access solutions with microsoft visual studio 2010
10265 developing data access solutions with microsoft visual studio 2010
 
6 Months Net
6 Months Net6 Months Net
6 Months Net
 
Windows 8 für .net Entwickler
Windows 8 für .net EntwicklerWindows 8 für .net Entwickler
Windows 8 für .net Entwickler
 
Net overview
Net overviewNet overview
Net overview
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Trakya Üniversitesi Workshop
Trakya Üniversitesi WorkshopTrakya Üniversitesi Workshop
Trakya Üniversitesi Workshop
 
Introduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayambaIntroduction to .NET with C# @ university of wayamba
Introduction to .NET with C# @ university of wayamba
 
Come costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWSCome costruire apllicazioni "12-factor microservices" in AWS
Come costruire apllicazioni "12-factor microservices" in AWS
 
Project_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_finalProject_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_final
 

Plus de Abhishek Sur

Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
Abhishek Sur
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
Abhishek Sur
 

Plus de Abhishek Sur (20)

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
Code review
Code reviewCode review
Code review
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in Azure
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edge
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build Bridges
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overview
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
 
Integrating cortana with wp8 app
Integrating cortana with wp8 appIntegrating cortana with wp8 app
Integrating cortana with wp8 app
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 Enhancements
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 Enhancements
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webforms
 

Dernier

Dernier (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

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
  • 17.
  • 18. Abhishek Sur, MVP (Client App Dev) www.abhisheksur.com Email: contact@abhisheksur.com Twitter : @abhi2434 Thank you.