Csharp 3.0

819 views

Published on

microsoft offisinde vermiş olduğum c# 3.0 semineri

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
819
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Csharp 3.0

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

×