SlideShare a Scribd company logo
1 of 31
#28 Baton ROuge .NET Fundamentals Mike Huguet
Solutions Architect for BRDNUG leader, http://brdnug.org  MS Patterns & Practices SP Guidance Advisor SQLSat28 Organizer http://twitter.com/mhuguet  http://geekswithblogs.com/mikehuguet Mike Huguet
A.K.A – “Huggy” Bear What does he do anyway? Favorite restaurant is any $5 Chinese Buffet He only quotes movies from the 80’s Alternate Intro
Introduce some of the “new” fundamentals Enhance knowledge of these fundamentals Objectives Face.Expression!=
Feature Timeline 2.0 3.0 3.5 4.0 3.5 SP1 2005 2006 2007 2010 2008 Generics ,[object Object]
Lambdas
LINQ,[object Object]
? Generics “Generics let you tailor a method, class, structure, or interface to the precise data type it acts upon.” - MSDN
Generics - MSDN
Native to the CLR Allow for better type safety increasing performance (no box, unbox, casting) ArrayList vs. List<T> IDE Magic What are Generics?
*200% perf gain value types (i.e.-string, int…) *100% perf gain ref types (i.e.-MyClass) Used throughout .NET Make great containers i.e.-List<T> Activator.CreateInstance<T>() Uses / Benefits * - #’s from MSDN
C# List<string> x = new List<string>(); String GetValueAsString<T>(T entity) {} VB.NET Dim x As New List(Of String) Function GetValueAsString(of T)(ByRef entity As T) As String Syntax
Demo
[object Object],class Repo<T> where T : BaseEntity class Repo<T> where T : BaseEntity, IComparable<T> class Repo<T, K> where T : BaseEntity where K : IValidator ,[object Object],class Repo<T> where T : class class Repo<T> where T : struct ,[object Object],class Repo<T> where T : class, new() Constraints (C#)
[object Object],Class Repo(Of T As BaseEntity) Class Repo(Of  T As {BaseEntity, IComparable(Of T)}) Class Repo(Of T As BaseEntity, K As IValidator)) ,[object Object],Class Repo(Of T As Class) Class Repo(Of T As Structure) ,[object Object],Class Repo(Of T As New, Class) Constraints (VB.NET)
? Extension Methods “Extension methods enable you to ‘add’ methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.” -MSDN
Allows adding methods to an existing type No recompile needed Can extend framework classes (including sealed) Methods included in Intellisense Extension Methods
Demo
? Lamda Expressions “A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types.” -MSDN
[object Object]
A variable that points to function
Anonymous function (no name)
Returns a single value
Explicit or inferred types
Return
Parameter(s)What is a Lambda Anyway?
[object Object]
Arg list => expression
x => x + 1
(x, y) => x == y
VB.NET

More Related Content

What's hot

2CPP08 - Overloading and Overriding
2CPP08 - Overloading and Overriding2CPP08 - Overloading and Overriding
2CPP08 - Overloading and OverridingMichael Heron
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesJon Kruger
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesHitesh-Java
 
Agile_goa_2013_clean_code_tdd
Agile_goa_2013_clean_code_tddAgile_goa_2013_clean_code_tdd
Agile_goa_2013_clean_code_tddSrinivasa GV
 
Exception Handling - Continued
Exception Handling - Continued Exception Handling - Continued
Exception Handling - Continued Hitesh-Java
 
1. Mini seminar intro
1. Mini seminar intro1. Mini seminar intro
1. Mini seminar introLeonid Maslov
 
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...Simplilearn
 
Sharable of qualities of clean code
Sharable of qualities of clean codeSharable of qualities of clean code
Sharable of qualities of clean codeEman Mohamed
 
Basics of java (1)
Basics of java (1)Basics of java (1)
Basics of java (1)raj upadhyay
 
Object Oriented Programming With C++
Object Oriented Programming With C++Object Oriented Programming With C++
Object Oriented Programming With C++Vishnu Shaji
 
Journey's diary developing a framework using tdd
Journey's diary   developing a framework using tddJourney's diary   developing a framework using tdd
Journey's diary developing a framework using tddeduardomg23
 
Introduction to objective c
Introduction to objective cIntroduction to objective c
Introduction to objective cSunny Shaikh
 
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Codemotion
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPGiorgio Sironi
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesRatnaJava
 
Advanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, IdiomsAdvanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, IdiomsClint Edmonson
 

What's hot (20)

2CPP08 - Overloading and Overriding
2CPP08 - Overloading and Overriding2CPP08 - Overloading and Overriding
2CPP08 - Overloading and Overriding
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID Principles
 
Clean Code 2
Clean Code 2Clean Code 2
Clean Code 2
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and Interfaces
 
Agile_goa_2013_clean_code_tdd
Agile_goa_2013_clean_code_tddAgile_goa_2013_clean_code_tdd
Agile_goa_2013_clean_code_tdd
 
Inner Classes
Inner Classes Inner Classes
Inner Classes
 
Exception Handling - Continued
Exception Handling - Continued Exception Handling - Continued
Exception Handling - Continued
 
1. Mini seminar intro
1. Mini seminar intro1. Mini seminar intro
1. Mini seminar intro
 
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
C# Interface | Interfaces In C# | C# Interfaces Explained | C# Tutorial For B...
 
Sharable of qualities of clean code
Sharable of qualities of clean codeSharable of qualities of clean code
Sharable of qualities of clean code
 
Basics of java (1)
Basics of java (1)Basics of java (1)
Basics of java (1)
 
Object Oriented Programming With C++
Object Oriented Programming With C++Object Oriented Programming With C++
Object Oriented Programming With C++
 
Journey's diary developing a framework using tdd
Journey's diary   developing a framework using tddJourney's diary   developing a framework using tdd
Journey's diary developing a framework using tdd
 
Introduction to objective c
Introduction to objective cIntroduction to objective c
Introduction to objective c
 
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
Functional Programming You Already Know - Kevlin Henney - Codemotion Rome 2015
 
Pursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHPPursuing Domain-Driven Design practices in PHP
Pursuing Domain-Driven Design practices in PHP
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and Interfaces
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
JavaScript Bootcamp
JavaScript BootcampJavaScript Bootcamp
JavaScript Bootcamp
 
Advanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, IdiomsAdvanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, Idioms
 

Viewers also liked

Marketing plan (new)
Marketing plan (new)Marketing plan (new)
Marketing plan (new)charace
 
Parallel mechanisms of epigenetic reprogramming in the germline
Parallel mechanisms of epigenetic reprogramming in the germlineParallel mechanisms of epigenetic reprogramming in the germline
Parallel mechanisms of epigenetic reprogramming in the germlineLoki Stormbringer
 
CTC1 deletion results in defective telomere replication, leading to catastrop...
CTC1 deletion results in defective telomere replication, leading to catastrop...CTC1 deletion results in defective telomere replication, leading to catastrop...
CTC1 deletion results in defective telomere replication, leading to catastrop...Loki Stormbringer
 
Metabolic depression in hibernation and major depression: an explanatory theo...
Metabolic depression in hibernation and major depression: an explanatory theo...Metabolic depression in hibernation and major depression: an explanatory theo...
Metabolic depression in hibernation and major depression: an explanatory theo...Loki Stormbringer
 
Matrix rigidity controls endothelial differentiation and morphogenesis of car...
Matrix rigidity controls endothelial differentiation and morphogenesis of car...Matrix rigidity controls endothelial differentiation and morphogenesis of car...
Matrix rigidity controls endothelial differentiation and morphogenesis of car...Loki Stormbringer
 
Metal protein attenuating compounds for the treatment of alzheimer's dementia
Metal protein attenuating compounds for the treatment of alzheimer's dementiaMetal protein attenuating compounds for the treatment of alzheimer's dementia
Metal protein attenuating compounds for the treatment of alzheimer's dementiaLoki Stormbringer
 
Meta analysis of genome-wide association studies for personality
Meta analysis of genome-wide association studies for personalityMeta analysis of genome-wide association studies for personality
Meta analysis of genome-wide association studies for personalityLoki Stormbringer
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePointmikehuguet
 
Primary surface ruptures of the great himalayan
Primary surface ruptures of the great himalayanPrimary surface ruptures of the great himalayan
Primary surface ruptures of the great himalayanLoki Stormbringer
 
Mechanisms of white matter changes induced by meditation
Mechanisms of white matter changes induced by meditationMechanisms of white matter changes induced by meditation
Mechanisms of white matter changes induced by meditationLoki Stormbringer
 
Appeal from the united states district court for the eastern district of wisc...
Appeal from the united states district court for the eastern district of wisc...Appeal from the united states district court for the eastern district of wisc...
Appeal from the united states district court for the eastern district of wisc...Loki Stormbringer
 
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...Loki Stormbringer
 
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...Loki Stormbringer
 
Interventions to Improve Cognitive Functioning After TBI
Interventions to Improve Cognitive Functioning After TBIInterventions to Improve Cognitive Functioning After TBI
Interventions to Improve Cognitive Functioning After TBILoki Stormbringer
 

Viewers also liked (16)

Marketing plan (new)
Marketing plan (new)Marketing plan (new)
Marketing plan (new)
 
Friend me? Putting the 'Social' back in 'Society' (PSCP)
Friend me? Putting the 'Social' back in 'Society' (PSCP)Friend me? Putting the 'Social' back in 'Society' (PSCP)
Friend me? Putting the 'Social' back in 'Society' (PSCP)
 
Parallel mechanisms of epigenetic reprogramming in the germline
Parallel mechanisms of epigenetic reprogramming in the germlineParallel mechanisms of epigenetic reprogramming in the germline
Parallel mechanisms of epigenetic reprogramming in the germline
 
CTC1 deletion results in defective telomere replication, leading to catastrop...
CTC1 deletion results in defective telomere replication, leading to catastrop...CTC1 deletion results in defective telomere replication, leading to catastrop...
CTC1 deletion results in defective telomere replication, leading to catastrop...
 
Metabolic depression in hibernation and major depression: an explanatory theo...
Metabolic depression in hibernation and major depression: an explanatory theo...Metabolic depression in hibernation and major depression: an explanatory theo...
Metabolic depression in hibernation and major depression: an explanatory theo...
 
Matrix rigidity controls endothelial differentiation and morphogenesis of car...
Matrix rigidity controls endothelial differentiation and morphogenesis of car...Matrix rigidity controls endothelial differentiation and morphogenesis of car...
Matrix rigidity controls endothelial differentiation and morphogenesis of car...
 
Metal protein attenuating compounds for the treatment of alzheimer's dementia
Metal protein attenuating compounds for the treatment of alzheimer's dementiaMetal protein attenuating compounds for the treatment of alzheimer's dementia
Metal protein attenuating compounds for the treatment of alzheimer's dementia
 
Meta analysis of genome-wide association studies for personality
Meta analysis of genome-wide association studies for personalityMeta analysis of genome-wide association studies for personality
Meta analysis of genome-wide association studies for personality
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
Primary surface ruptures of the great himalayan
Primary surface ruptures of the great himalayanPrimary surface ruptures of the great himalayan
Primary surface ruptures of the great himalayan
 
Mechanisms of white matter changes induced by meditation
Mechanisms of white matter changes induced by meditationMechanisms of white matter changes induced by meditation
Mechanisms of white matter changes induced by meditation
 
Appeal from the united states district court for the eastern district of wisc...
Appeal from the united states district court for the eastern district of wisc...Appeal from the united states district court for the eastern district of wisc...
Appeal from the united states district court for the eastern district of wisc...
 
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...
Anatomical plasticity of adult brain is titrated by nogo receptor 1 (06 March...
 
Invalidation
InvalidationInvalidation
Invalidation
 
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...
The next generation of glioma biomarkers: MGMT methylation, BRAF fusions and ...
 
Interventions to Improve Cognitive Functioning After TBI
Interventions to Improve Cognitive Functioning After TBIInterventions to Improve Cognitive Functioning After TBI
Interventions to Improve Cognitive Functioning After TBI
 

Similar to SQL Saturday 28 - .NET Fundamentals

Linq To The Enterprise
Linq To The EnterpriseLinq To The Enterprise
Linq To The EnterpriseDaniel Egan
 
Linq 1224887336792847 9
Linq 1224887336792847 9Linq 1224887336792847 9
Linq 1224887336792847 9google
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
 
Backend Development - Django
Backend Development - DjangoBackend Development - Django
Backend Development - DjangoAhmad Sakhleh
 
C#3.0 & Vb 9.0 New Features
C#3.0 & Vb 9.0 New FeaturesC#3.0 & Vb 9.0 New Features
C#3.0 & Vb 9.0 New Featurestechfreak
 
LINQ Inside
LINQ InsideLINQ Inside
LINQ Insidejeffz
 
Certification preparation - Net classses and functions.pptx
Certification preparation - Net classses and functions.pptxCertification preparation - Net classses and functions.pptx
Certification preparation - Net classses and functions.pptxRohit Radhakrishnan
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocolWoodruff Solutions LLC
 
Whidbey old
Whidbey old Whidbey old
Whidbey old grenaud
 
.Net Classes and Objects | UiPath Community
.Net Classes and Objects | UiPath Community.Net Classes and Objects | UiPath Community
.Net Classes and Objects | UiPath CommunityRohit Radhakrishnan
 
Framework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users GroupFramework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users Groupbrada
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011YoungSu Son
 
Working Effectively With Legacy Perl Code
Working Effectively With Legacy Perl CodeWorking Effectively With Legacy Perl Code
Working Effectively With Legacy Perl Codeerikmsp
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010Abram John Limpin
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersDave Bost
 

Similar to SQL Saturday 28 - .NET Fundamentals (20)

Linq To The Enterprise
Linq To The EnterpriseLinq To The Enterprise
Linq To The Enterprise
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Linq 1224887336792847 9
Linq 1224887336792847 9Linq 1224887336792847 9
Linq 1224887336792847 9
 
Vb essentials
Vb essentialsVb essentials
Vb essentials
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And Refactoring
 
Backend Development - Django
Backend Development - DjangoBackend Development - Django
Backend Development - Django
 
C#3.0 & Vb 9.0 New Features
C#3.0 & Vb 9.0 New FeaturesC#3.0 & Vb 9.0 New Features
C#3.0 & Vb 9.0 New Features
 
VB.Net Mod1.pptx
VB.Net Mod1.pptxVB.Net Mod1.pptx
VB.Net Mod1.pptx
 
LINQ Inside
LINQ InsideLINQ Inside
LINQ Inside
 
Certification preparation - Net classses and functions.pptx
Certification preparation - Net classses and functions.pptxCertification preparation - Net classses and functions.pptx
Certification preparation - Net classses and functions.pptx
 
Breaking down data silos with the open data protocol
Breaking down data silos with the open data protocolBreaking down data silos with the open data protocol
Breaking down data silos with the open data protocol
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
 
.Net Classes and Objects | UiPath Community
.Net Classes and Objects | UiPath Community.Net Classes and Objects | UiPath Community
.Net Classes and Objects | UiPath Community
 
Framework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users GroupFramework Design Guidelines For Brussels Users Group
Framework Design Guidelines For Brussels Users Group
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011
 
Modern Python Testing
Modern Python TestingModern Python Testing
Modern Python Testing
 
Working Effectively With Legacy Perl Code
Working Effectively With Legacy Perl CodeWorking Effectively With Legacy Perl Code
Working Effectively With Legacy Perl Code
 
A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010A Lap Around Visual Studio 2010
A Lap Around Visual Studio 2010
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for DevelopersMSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

SQL Saturday 28 - .NET Fundamentals

  • 1. #28 Baton ROuge .NET Fundamentals Mike Huguet
  • 2. Solutions Architect for BRDNUG leader, http://brdnug.org MS Patterns & Practices SP Guidance Advisor SQLSat28 Organizer http://twitter.com/mhuguet http://geekswithblogs.com/mikehuguet Mike Huguet
  • 3. A.K.A – “Huggy” Bear What does he do anyway? Favorite restaurant is any $5 Chinese Buffet He only quotes movies from the 80’s Alternate Intro
  • 4. Introduce some of the “new” fundamentals Enhance knowledge of these fundamentals Objectives Face.Expression!=
  • 5.
  • 7.
  • 8. ? Generics “Generics let you tailor a method, class, structure, or interface to the precise data type it acts upon.” - MSDN
  • 10. Native to the CLR Allow for better type safety increasing performance (no box, unbox, casting) ArrayList vs. List<T> IDE Magic What are Generics?
  • 11. *200% perf gain value types (i.e.-string, int…) *100% perf gain ref types (i.e.-MyClass) Used throughout .NET Make great containers i.e.-List<T> Activator.CreateInstance<T>() Uses / Benefits * - #’s from MSDN
  • 12. C# List<string> x = new List<string>(); String GetValueAsString<T>(T entity) {} VB.NET Dim x As New List(Of String) Function GetValueAsString(of T)(ByRef entity As T) As String Syntax
  • 13. Demo
  • 14.
  • 15.
  • 16. ? Extension Methods “Extension methods enable you to ‘add’ methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.” -MSDN
  • 17. Allows adding methods to an existing type No recompile needed Can extend framework classes (including sealed) Methods included in Intellisense Extension Methods
  • 18. Demo
  • 19. ? Lamda Expressions “A lambda expression is an anonymous function that can contain expressions and statements, and can be used to create delegates or expression tree types.” -MSDN
  • 20.
  • 21. A variable that points to function
  • 26. Parameter(s)What is a Lambda Anyway?
  • 27.
  • 28. Arg list => expression
  • 29. x => x + 1
  • 30. (x, y) => x == y
  • 33. Function(x, y) x = ySyntax Examples
  • 34. Summary - Wherever a delegate type can be used Event handlers LINQ Projection Extensions (Select, SelectMany) Find Extensions (Find, FindAll) When Can We Use Them?
  • 35. Demo
  • 36. ? Language Integrated Query (LINQ) “LINQ is a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. .” -MSDN
  • 37. Core functionality provided by extension methods (method based) Any() Where() OrderBy() ThenBy() Contains() Join() First() ... LINQ
  • 38. Expression based var results = from process in Process.GetProcesses() where process.ProcessName.Contains("WINWORD") orderbyprocess.MainWindowTitle descending select process; Method based varresults = Process.GetProcesses() .Where(process=>process.ProcessName .Contains("WINWORD")) .OrderBy(x=>x.MainWindowTitle); LINQ Options
  • 39. Demo
  • 40. LINQ C# VB Other Languages .NET Language – Integrated Query LINQ enabled data sources LINQ enabled ADO.NET LINQ to Objects LINQ to XML LINQ to Datasets LINQ to SQL LINQ to Entities Objects Relational Data XML
  • 41. LINQ to … LINQ to Objects LINQ to XML (XLINQ) LINQ to DataSets LINQ to SQL (DLINQ) LINQ to Entities (EF) LINQ to SharePoint LINQ to REST LINQ to NHibernate LINQ to Twitter LINQ to SQL Saturday???
  • 42.
  • 43. LINQ
  • 44.
  • 45.

Editor's Notes

  1. That big question mark is editable – use whatever character you want!
  2. That big question mark is editable – use whatever character you want!
  3. That big question mark is editable – use whatever character you want!
  4. That big question mark is editable – use whatever character you want!
  5. That big question mark is editable – use whatever character you want!
  6. That big question mark is editable – use whatever character you want!
  7. That big question mark is editable – use whatever character you want!
  8. That big question mark is editable – use whatever character you want!