﻿
{"id":598,"date":"2012-05-21T09:26:31","date_gmt":"2012-05-21T09:26:31","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=598"},"modified":"2012-05-21T09:26:31","modified_gmt":"2012-05-21T09:26:31","slug":"linq-anonymous-type-kullanarak-sonuc-geri-donme","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/linq-anonymous-type-kullanarak-sonuc-geri-donme\/","title":{"rendered":"LINQ &#8211; Anonymous Type Kullanarak Sonu\u00e7 Geri D\u00f6nme"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>LINQ sorgulamalar\u0131nda sonu\u00e7 k\u00fcmelerini ya var tipinden de\u011fi\u015fkene alabiliyorduk ya tipinden emin oldu\u011fumuz koleksiyona veya diziye \u00e7evirerek alabiliyorduk ya da kendi belirledi\u011fimiz bir tip geri d\u00f6nd\u00fcr\u00fcyorduk.LINQ sorgusu sonucunda elimize ge\u00e7en sonu\u00e7 k\u00fcmesindeki nesnelerin ya da de\u011ferlerin, baz\u0131 \u00f6zelliklerini ya da t\u00fcm de\u011ferlerini, isimsiz bir nesne \u00fczerinden geri d\u00f6nmeye Anonymous Type deniyor.<br \/>\nAnonymous Type kullanarak sonu\u00e7 d\u00f6nerken kazand\u0131\u011f\u0131m\u0131z esneklikler mevcut.Bu konuyu dahada somutla\u015ft\u0131rmak i\u00e7in bir \u00f6rnek verebilirim.LINQ sorgulamam\u0131z sonucu, i\u00e7inde &#8220;Ad\u0131&#8221; , &#8220;Soyad\u0131&#8221; ve &#8220;DogumTarihi&#8221; \u00f6zellikleri olan nesneler d\u00f6necektir.Ancak ben d\u00f6nen bu nesnelerin &#8220;Ad\u0131&#8221; ve &#8220;Soyad\u0131&#8221; propertylerindeki de\u011ferleri, &#8220;\u0130sim&#8221; ve &#8220;Soyisim&#8221; ad\u0131ndaki propertylerde saklamak, &#8220;DogumTarihi&#8221; propertysinide almamak istiyorum.\u0130\u015fte bu durumda Anonymous Type kullanarak &#8220;\u0130sim&#8221; ve &#8220;Soyisim&#8221; ad\u0131ndaki \u00f6zellikler olu\u015fturup, &#8220;Ad\u0131&#8221; ve &#8220;Soyad\u0131&#8221; \u00f6zelliklerindeki de\u011ferleri bunlara at\u0131p, tipi ne oldu\u011funu bilmedi\u011fimiz bir sonu\u00e7 k\u00fcmesi elde edebiliriz.<br \/>\n<!--more--><br \/>\n\u015eimdi Anonymous Type kullan\u0131m\u0131n\u0131 g\u00f6sterebilmek i\u00e7in bir \u00f6rnek yapal\u0131m.C dizinindeki b\u00fct\u00fcn dosyalar\u0131n bilgilerini \u00e7ekelim.Ve bu bilgilerden sadece, dosya ad\u0131, dosya boyutu ve olusturulma tarihlerini alal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 DirectoryInfo DosyaBilgileri = new DirectoryInfo(&quot;C:\/&quot;);\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 FileInfo&#x5B;] Dosyalar = DosyaBilgileri.GetFiles();\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 var Sonuc = from Dosya in Dosyalar\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 where Dosya.Length &gt; 1000\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 select new\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 DosyaAdi = Dosya.Name,\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 DosyaBoyutu = Dosya.Length,\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 OlusturulmaTarihi = Dosya.CreationTime\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 };\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 foreach (var item in Sonuc)\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 {\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 listBox1.Items.Add(item.DosyaAdi + &quot; &quot; + item.DosyaBoyutu + &quot; &quot; + item.OlusturulmaTarihi);\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, &#8220;select&#8221; deyiminden sonra &#8220;new&#8221; anahtar s\u00f6zc\u00fc\u011f\u00fcn\u00fc kullanarak ({}) s\u00fcsl\u00fc parantezler aras\u0131nda elimizdeki dosyalar\u0131n istedi\u011fim bilgilerini, istedi\u011fim isimdeki propertylere at\u0131yorum.Sonu\u00e7ta var tipinden Sonu\u00e7 ad\u0131ndaki de\u011fi\u015fkene, i\u00e7inde DosyaAdi,DosyaBoyutu ve OlusturulmaTarihi ad\u0131nda \u00fc\u00e7 tane propertysi olan nesneler d\u00f6nmektedir.Tabi bu nesnelerin tiplerinin ve adlar\u0131n\u0131n ne oldu\u011funu bilemeyiz.<\/p>\n<p>Anonymous Type hakk\u0131ndaki yaz\u0131m bundan ibaret.Faydas\u0131n\u0131 g\u00f6rmeniz dile\u011fiyle.<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar..<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>LINQ sorgulamalar\u0131nda sonu\u00e7 k\u00fcmelerini ya var tipinden de\u011fi\u015fkene alabiliyorduk ya tipinden emin oldu\u011fumuz koleksiyona veya diziye \u00e7evirerek alabiliyorduk ya da kendi belirledi\u011fimiz bir tip geri d\u00f6nd\u00fcr\u00fcyorduk.LINQ sorgusu sonucunda elimize ge\u00e7en sonu\u00e7 k\u00fcmesindeki nesnelerin ya&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,12,226],"tags":[228,751],"class_list":["post-598","post","type-post","status-publish","format-standard","hentry","category-asp-net","category-c-sharp-c","category-linq","tag-anonymous-type","tag-linq"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=598"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/598\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}