+ All Categories
Home > Documents > Linq – The Basics

Linq – The Basics

Date post: 03-Jan-2016
Category:
Upload: uriah-orr
View: 32 times
Download: 2 times
Share this document with a friend
Description:
Linq – The Basics. Arve Bjørnerud. 20. November 2009. Language Integrated Query. Skriv en ” sql ” spørring rett i koden mot: In memory lister Database Events Filesystem ++++ Lag din egen vha adapter støtte Alt som arver fra IEnumerable kan man kjøre spørringer på. - PowerPoint PPT Presentation
9
Linq – The Basics Arve Bjørnerud 20. November 2009
Transcript
Page 1: Linq  – The Basics

Linq – The Basics

Arve Bjørnerud

20. November 2009

Page 2: Linq  – The Basics

Language Integrated Query

Side 2

Skriv en ”sql” spørring rett i koden mot:

– In memory lister

– Database

– Events

– Filesystem

– ++++

– Lag din egen vha adapter støtte

Alt som arver fra IEnumerable kan man kjøre spørringer på.

– For eksempel List<>

Page 3: Linq  – The Basics

Ett enkelt eksempel

Side 3

List<string> names = new List<string> {"Per", "Pål", "Espen"};

var p = from name in names

where name == "Espen"

select name;

Console.WriteLine(p.First());

Page 4: Linq  – The Basics

Kan også skrives slik

Side 4

List<string> names = new List<string> {"Per", "Pål", "Espen"};

Console.WriteLine(names.Where(x => x == "Espen").First());

Page 5: Linq  – The Basics

Lambda uttrykk

Side 5

x => x == "Espen”

Oversettes til

delegate(string x) {

return x==”Espen”;

}

Page 6: Linq  – The Basics

Kurs i C# og LINQ

Syntaktisk sukker

Uttrykk kan slås sammen:

List<string> names = new List<string> {"Per", "Pål", "Espen"};

var s = names.Where(n => n.StartsWith("P"))

.Where(m => m.EndsWith("r"))

.Select(o => o.Substring(1,1));

Side 6

Page 7: Linq  – The Basics

Anonyme typer

Side 7

List<string> names = new List<string>();

names.Add("Per");

names.Add("Pål");

var persons = from name in names

select new

{

NameUppercase = name.ToUpper(),

NameLenght = name.Length

};

var person = persons.First();

Console.WriteLine("Uppercase name={0}. Name lenght={1}.", person.NameUppercase, person.NameLenght);

Page 8: Linq  – The Basics

Kurs i C# og LINQ

Spørreoperatorer

Where

Any

Restrict

Select

Select Many

Project

Distinct

Union

Intersect

Except

Sets

Count

Sum

Min

Max

Average

Aggregate

Aggr.

OrderBy

OrderByDescending

ThenBy

ThenByDescending

Revert

Order

Side 8

Page 9: Linq  – The Basics

Oppgaveløsing

SVN Checkout:

http://linqkurs.googlecode.com/svn/trunk/

Start på oppgave ”Part1_TheBasics”

Vent med de andre oppgavene

Sitter du fast?

– Spør nabo

– Spør google

– Spør Arve, Elisabeth, Lise eller Åsmund

– Ikke se på løsningen før du har prøvd selv

Selskapspresentasjon 2007 Side 9


Recommended