SlideShare a Scribd company logo
#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 Overriding
Michael Heron
 
Advanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID PrinciplesAdvanced Object-Oriented/SOLID Principles
Advanced Object-Oriented/SOLID Principles
Jon Kruger
 
Clean Code 2
Clean Code 2Clean Code 2
Clean Code 2
Fredrik Wendt
 
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
Hitesh-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
 
Inner Classes
Inner Classes Inner Classes
Inner Classes
Hitesh-Java
 
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 intro
Leonid 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 code
Eman 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 tdd
eduardomg23
 
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 2015
Codemotion
 
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
Giorgio 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 Interfaces
RatnaJava
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
SadhanaParameswaran
 
JavaScript Bootcamp
JavaScript BootcampJavaScript Bootcamp
Advanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, IdiomsAdvanced OOP - Laws, Principles, Idioms
Advanced OOP - Laws, Principles, Idioms
Clint 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
 
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)
South Texas Veterans Health Care System
 
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
Loki 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 dementia
Loki 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 personality
Loki Stormbringer
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
mikehuguet
 
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
Loki 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 meditation
Loki 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 TBI
Loki 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 Refactoring
Naresh Jain
 
Backend Development - Django
Backend Development - DjangoBackend Development - Django
Backend Development - Django
Ahmad 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
 
VB.Net Mod1.pptx
VB.Net Mod1.pptxVB.Net Mod1.pptx
VB.Net Mod1.pptx
Ezhil Aparajit
 
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.pptx
Rohit 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 Community
Rohit 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 Group
brada
 
Framework engineering JCO 2011
Framework engineering JCO 2011Framework engineering JCO 2011
Framework engineering JCO 2011
YoungSu Son
 
Modern Python Testing
Modern Python TestingModern Python Testing
Modern Python Testing
Alexander Loechel
 
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 2010
Abram 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 Developers
Dave Bost
 
T4 presentation
T4 presentationT4 presentation
T4 presentation
Gary Pedretti
 

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

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 

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!