Your SlideShare is downloading. ×
Why do I Love C#?
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Why do I Love C#?


Published on

In this session I have discussed what are the major features that makes me love C# as a language. I presented this in front of 250 audiences in Jadavpur University campus.

In this session I have discussed what are the major features that makes me love C# as a language. I presented this in front of 250 audiences in Jadavpur University campus.

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. By Abhishek Sur Website: www.abhisheksur.comEmail :
  • 2. .NET Infrastructure User Interface Services Data Access ASP.NET Windows Windows Windows (WebForms, Entity Presentation Communication Workflow ADO.NETMVC, 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 PointersEvents Events are Wrappers to Delegates Cleaner pattern to handle Delegates Only use when you do require
  • 5. Delegates & Events
  • 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
  • 7. Generics &Extension Methods
  • 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)
  • 9. Iterators
  • 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…
  • 11. Anonymous Types & LINQ
  • 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
  • 13. Dynamic
  • 14. Going Beyond… (Async)
  • 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
  • 16. Async & Await
  • 17. Abhishek Sur, MVP (Client App Dev) Email: Twitter : @abhi2434 Thank you.