csharp 3.0
TRANSCRIPT
![Page 1: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/1.jpg)
Volkan AtaseverMicrosoft Akademik Editörü
Developer
C# 3.0 ve LINQ
![Page 2: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/2.jpg)
C# 2.0’ın C# 3.0’ı Etkileyen Özelliklerine Kısmen Değinilecektir.
![Page 3: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/3.jpg)
AMAÇ
Bilgi işlemeyi kolaylaştırmak!Object (Nesneler)Database (SQL/Oracle)XML(data!=objects)
![Page 4: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/4.jpg)
C# 3.0 Gelişim süreci ve Relase
![Page 5: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/5.jpg)
Implicitly typed local variables Extension methods Lambda expressions Expression trees Object and collection initializers Anonymous types Query expressions
![Page 6: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/6.jpg)
var i = 5; var s = “Deneme"; var d = 1.0; var numbers = new int[] {1, 2,
3}; var orders = new
Dictionary<int,Order>();
![Page 7: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/7.jpg)
int i = 5; string s = “Deneme"; double d = 1.0; int[] numbers = new int[] {1, 2,
3}; Dictionary<int,Order> orders =
new Dictionary<int,Order>();
![Page 8: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/8.jpg)
var x; // Hata, ilk deger atanmamış
var y = {1, 2, 3}; // Hata, koleksiyon belirtilmemis
var z = null; // Hata, null alamaz.
![Page 9: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/9.jpg)
Extension metodlar LINQ nun veri sorgulama anahtar kelimelerini tanımlamada kullanılır.
Extension metodlar static bir sınıf içerisinde static olarak tanımlanır ilk parametresi this anahtar sözcüğünü ve genişletilen sınıf tipinde parametre almaktadır
![Page 10: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/10.jpg)
List<int> evenNumbers = list.FindAll(delegate(int i)
{ return (i%2) == 0); });
![Page 11: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/11.jpg)
var evenNumbers = list.FindAll( i => i % 2 ==0);
veya var evenNumbers = list.FindAll(int i =>
return (i % 2 ==0) );
![Page 12: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/12.jpg)
Func<int,int> f = x => x + 1; // Code
Expression<Func<int,int>> e = x => x + 1; // Data
![Page 13: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/13.jpg)
var customer = new Customer{Id=1, Name =“Volkan", City=“istanbul"};
List<int> numbers = new List<int> {2,3,4,5,6};
![Page 14: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/14.jpg)
var customer = new {Id=1, Name =“Volkan", City=“istanbul"};
![Page 15: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/15.jpg)
from c in customers where c.City == "London" select c
![Page 16: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/16.jpg)
![Page 17: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/17.jpg)
DLINQ (Database Language Integrated Query)
XLINQ (Xml Language Integrated Query)
![Page 18: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/18.jpg)
![Page 19: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/19.jpg)
![Page 20: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/20.jpg)
Kısıtlama Operatörleri (Restriction Operators) -> Where Gruplama Operatörleri (Grouping Operators) -> Group Sıralama Operatörleri (Ordering Operators) -> OrderBy, ThenBy, Reverse Bölümleme Operatörleri (Partitioning Operators) -> Take, Skip, TakeWhile,
SkipWhile Seçme Operatörleri (Projection Operators) -> Select Set Operatörleri (Set Operators) -> Distinct, Union, Intersect, Except Dönüştürme Operatörleri (Conversion Operators) -> ToArray, ToList,
ToDictionary, OfType Eleman Operatörleri (Element Operators) -> First, FirstOrDefault,
ElementAt Üretim Operatörleri (Generation Operators) -> Range, Repeat Gruplama Fonksiyonu Operatörleri (Aggregate Operators) -> Count, Sum,
Min, Max, Averaga, Fold Ölçüm Operatörleri (Quantifiers Operators) -> Any, All Çeşitli Operatöler (Miscellaneous Operators) -> Concat, EqualAll Özel Seri Operatörleri (Custom Sequence Operators) -> Combine
![Page 21: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/21.jpg)
![Page 22: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/22.jpg)
Database Language Integrated Queries
![Page 23: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/23.jpg)
DLINQ Eskiden Nasıl Yapıyorduk ? Şimdiki Değişimin Etkileri Neler ? DEMO
![Page 24: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/24.jpg)
XLINQ - XML Store and Language Integrated Query
System.Xml.Xlinq
![Page 25: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/25.jpg)
XDocument XElement XAttribute XNode XProcessingInstruction Xtext Xnamespace Xcontainer XDocumentType XElementSequence
![Page 26: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/26.jpg)
![Page 27: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/27.jpg)
![Page 28: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/28.jpg)
www.volkanatasever.com www.msakademik.net
![Page 29: Csharp 3.0](https://reader036.vdocuments.us/reader036/viewer/2022082223/55b14e0abb61eb230c8b46cd/html5/thumbnails/29.jpg)