How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day....
Transcript of How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day....
![Page 1: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/1.jpg)
How to be a C# ninja in 10 easy steps
Benjamin Day
![Page 2: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/2.jpg)
Benjamin Day
• Consultant, Coach, Trainer
• Scrum.org Classes
– Professional Scrum Developer (PSD)
– Professional Scrum Foundations (PSF)
• TechEd, VSLive, DevTeach, O’Reilly OSCON
• Visual Studio Magazine, Redmond Developer News
• Microsoft MVP for Visual Studio ALM
• Team Foundation Server, TDD, Testing Best Practices,Silverlight, Windows Azure
• http://blog.benday.com
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 2
![Page 3: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/3.jpg)
© 1993-2011 Scrum.org, All Rights Reserved
Professional Scrum at Scrum.org
Professional
Scrum
Product Owner
Professional Scrum Foundations
Professional
Scrum Master
Professional
Scrum
Developer.NET or Java
Product Owners
ExecutivesScrum Masters
Architects
Business Analysts
DB Specialists
Designers
Developers
Testers
Everyone
![Page 4: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/4.jpg)
TOP 10 THINGS
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 4
![Page 5: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/5.jpg)
The List.
1. Be humble
2. Object-orientation
3. Write less code
4. Value Types vs. Reference Types
5. Exceptions
6. Generics
7. Collections
8. IDisposable, using, & garbage collection
9. LINQ
10. Lambda Expressions
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 5
![Page 6: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/6.jpg)
Some extras.
11.Virtual, override, & new()
12. Tune out the “static”
13. Partial classes & methods
14. Covariencecontravariance
15.Named parameters
16.Optional parameters
17.Dynamic keyword
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 6
![Page 7: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/7.jpg)
BE HUMBLE.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 7
![Page 8: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/8.jpg)
Be humble.
• Software is complex.
• We developers…
– …want to please
– …think we’re awesome
– …almost always underestimate
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 8
![Page 9: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/9.jpg)
Tips.
• Keep it simple.
• Expect to make mistakes.
• Not everyone will understand your abstractions.
• Favor maintainability over “slickness”.
• Write unit tests. Lots of unit tests.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 9
![Page 10: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/10.jpg)
“C# doesn’t do Xyz. C# sucks.”
• Lesson I learned.
• There’s a reason it’s built that way.
• Don’t fight it.
• Embrace it.
• Learn from the design.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 10
![Page 11: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/11.jpg)
Remember Object-Orientation
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 11
![Page 12: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/12.jpg)
Object-Oriented Principles
• 4 tenets
• Encapsulation
• Polymorphism
• Inheritance
• Abstraction
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 12
![Page 13: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/13.jpg)
WRITE LESS CODE
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 13
![Page 14: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/14.jpg)
Save some typing.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 14
![Page 15: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/15.jpg)
Less is more.(as long as it’s readable)
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 15
![Page 16: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/16.jpg)
Everything you write has to be maintained.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 16
![Page 17: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/17.jpg)
var vs. object
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 17
![Page 18: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/18.jpg)
Auto-Implemented Properties
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 18
![Page 19: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/19.jpg)
Read-Only Auto-Implemented Properties
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 19
![Page 20: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/20.jpg)
Avoid ternary operators
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 20
![Page 21: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/21.jpg)
VALUE TYPES VS.
REFERENCE TYPES
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 21
![Page 22: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/22.jpg)
Whuh?
Value Types
• Non-object types
• Stored in memory “stack”
• int, long, char, byte, etc.
• float, double
• decimal
• bool
• User-defined– Structs
– Enumerations
Reference Types
• Object types
• Stored in memory “heap”
• Variables are “pointers” to memory location
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 22
![Page 23: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/23.jpg)
Boxing and Unboxing
• Boxing
– Process of wrapping a
value type in an
object reference
• Unboxing
– Converting a boxed value
type object back into an
value type variable
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 23
![Page 24: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/24.jpg)
EXCEPTION HANDLING
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 24
![Page 25: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/25.jpg)
Throw vs. throw ex
throw; throw ex;
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 25
![Page 26: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/26.jpg)
GENERICS
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 26
![Page 27: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/27.jpg)
What are generics?
• Syntax that allows you to use similar functionality with different types in a type-safe way
• Implementation is the same
• Data types are different
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 27
![Page 28: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/28.jpg)
• ViewModelField<T>
• DomainObjectManager<T>
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 28
![Page 29: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/29.jpg)
COLLECTIONS
![Page 30: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/30.jpg)
What is a Collection?
• Data type for organizing lists of objects
• Similar to an array
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 30
![Page 31: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/31.jpg)
• Part of the .NET framework
• 5 namespaces
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 31
![Page 32: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/32.jpg)
Array vs. List<T>
Array
• Size defined when created
List<T>
• Automatically expands
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 32
![Page 33: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/33.jpg)
ArrayList vs. List<T>
ArrayList
• Not type-safe
• Everything is an object
• Watch out for boxing / unboxing
List<T>
• Type-safe
• Everything must be an instance of T
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 33
![Page 34: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/34.jpg)
IDISPOSABLE, USING, AND
GARBAGE COLLECTION
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 34
![Page 35: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/35.jpg)
What is Garbage Collection?
• Background process in .NET
• Determines when an object is not needed
• Deletes it “automagically”
• Frees up memory
• You worry much less about memory management.
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 35
![Page 36: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/36.jpg)
IDisposable
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 36
![Page 37: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/37.jpg)
IDisposable: Custom Cleanup
• Gets called when the Garbage Collector is disposing your object
• Add custom logic
• For example, close any open database connections
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 37
![Page 38: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/38.jpg)
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 38
![Page 39: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/39.jpg)
What does the ‘using’ statement do?
• Wraps instance of IDisposable for block of code
• Instance is disposed automatically at the end of the code block
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 39
![Page 40: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/40.jpg)
Wrap database connections in ‘using’ blocks
• Most database classes implement IDisposable
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 40
![Page 41: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/41.jpg)
Why should you wrap calls to database object in ‘using’
statements?
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 41
![Page 42: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/42.jpg)
LINQ
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 42
![Page 43: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/43.jpg)
LINQ
• Language-Integrated Query
• Enables SQL-like querying of objects via IEnumerable<T>
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 43
![Page 44: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/44.jpg)
LINQ Stuff
Operators
• select
• from
• where
• orderby
Useful functions
• FirstOrDefault()
• First()
• Min()
• Max()
• Count()
• Skip()
• Take()
• Reverse()
• Sum()
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 44
![Page 45: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/45.jpg)
(Code Demo: LinqSample.cs)
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 45
![Page 46: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/46.jpg)
LAMBDA EXPRESSIONS
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 46
![Page 47: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/47.jpg)
What’s a “lambda expression”?
• Anonymous functions
• Helpful for delegates
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 47
![Page 48: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/48.jpg)
(Code Demos: LambdaExpressionSample.cs &
LambdaExpressionForm.cs)
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 48
![Page 49: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/49.jpg)
Additional Reading
• Essential C# 4.0 by Mark Michaelis
• Great overview of the language
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 49
![Page 50: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/50.jpg)
Additional Reading
• CLR via C#by Jeffrey Richter
• What’s going on under the hood of C# and the .NET Framework
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 50
![Page 51: How to be a C# ninja in 10 easy steps€¦ · How to be a C# ninja in 10 easy steps Benjamin Day. Benjamin Day • Consultant, Coach, Trainer • Scrum.org Classes – Professional](https://reader033.fdocuments.in/reader033/viewer/2022052611/5f0772f97e708231d41d097d/html5/thumbnails/51.jpg)
The List.
1. Be humble
2. Object-orientation
3. Write less code
4. Value Types vs. Reference Types
5. Exceptions
6. Generics
7. Collections
8. IDisposable, using, & garbage collection
9. LINQ
10. Lambda Expressions
Copyright © 2011, Benjamin Day Consulting, Inc. www.benday.com 51