{"id":9496,"date":"2011-11-11T00:12:00","date_gmt":"2011-11-10T22:12:00","guid":{"rendered":"https:\/\/fatihboy.com\/post\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz"},"modified":"2011-11-11T00:12:00","modified_gmt":"2011-11-10T22:12:00","slug":"soz-dizim-agaciyla-biraz-oynamaya-var-misiniz","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/","title":{"rendered":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z?"},"content":{"rendered":"<p>&nbsp;&nbsp; Sizlerden ald\u0131\u011f\u0131m geri bildirimler sonras\u0131nda Roslyn ile bizlere sunulan API\u2019lerden S\u00f6z Dizim API\u2019si ile ilgili \u00f6rneklere devam etmenin faydal\u0131 olaca\u011f\u0131n\u0131 g\u00f6r\u00fcyorum. Bu makalemde bir kodun olu\u015fturdu\u011fumuz s\u00f6z dizim a\u011fac\u0131nda dola\u015farak bundan nas\u0131l yeni bir a\u011fa\u00e7 olu\u015fturabilece\u011fimizi sizlerle payla\u015faca\u011f\u0131m.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Konuya yabanc\u0131l\u0131k \u00e7ekilmemesi ad\u0131na son iki makalemde verdi\u011fim \u00f6rnek \u00fczerinden devam edelim;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var sozDizimAgaci = SyntaxTree.ParseCompilationUnit(\n@\"using System;\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class MerhabaDunya {\n        public static void Mesaj() {\n            Console.WriteLine(\"\"Enterprisecoding'den Roslyn'e Merhaba\"\");\n        }\n    }\n}\");\n\nvar sozDizimAgaciKok = sozDizimAgaci.Root;<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu basit kod par\u00e7ac\u0131\u011f\u0131nda string olarak verdi\u011fimiz ifadeye ait s\u00f6z dizim a\u011fac\u0131n\u0131 olu\u015fturarak k\u00f6k\u2019\u00fcn\u00fc daha sonra kullanabilmek ad\u0131na bir de\u011fi\u015fkene atamaktay\u0131z.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Varsayal\u0131m ki \u00e7al\u0131\u015fma zaman\u0131nda okuyarak s\u00f6z dizim a\u011fac\u0131na ula\u015ft\u0131\u011f\u0131n\u0131z bir kod i\u00e7erisindeki bir ya da bir grup alan\u0131 dinamik olarak de\u011fi\u015ftirip bu \u015fekilde derlemek istiyorsunuz. Bunu yapmaktaki amac\u0131n\u0131z \u00f6rne\u011fin bir scripting uygulamas\u0131nda g\u00fcvenlik gerek\u00e7esi ile baz\u0131 kod par\u00e7ac\u0131klar\u0131na izin vermemek olabilece\u011fi gibi ekibinizin yazd\u0131\u011f\u0131 kodlar\u0131 inceleyerek belirli kod desenlerini yenileri ile de\u011fi\u015ftirmek (<em>refactor<\/em>) ya da tespit edilen hatalar\u0131 kodlar\u0131 d\u00fczeltmekte olabilir. Konuyu basite indirgemek ad\u0131na, bizim \u00f6rne\u011fimiz \u00e7ok daha basit bir amaca hizmet edecek; konsola yazd\u0131r\u0131lan eksik ifadeyi g\u00fcnceli ile de\u011fi\u015ftirmek\u2026<\/p>\n\n\n\n<p>&nbsp;&nbsp; \u00d6nceki yaz\u0131lar\u0131m\u0131 takip ettiyseniz mutlaka biliyorsunuzdur, Roslyn ile \u00fcretilen s\u00f6z dizim a\u011fa\u00e7lar\u0131 salt okunurdur. Bu \u00f6zellikleri sayesinde de paralelde g\u00fcvenli olarak i\u015flenebilmektedirler. B\u00f6ylesi bir durumda s\u00f6z dizim a\u011fac\u0131 \u00fczerinden do\u011frudan bir de\u011fi\u015fiklik yap\u0131labilmesi m\u00fcmk\u00fcn de\u011fildir. bunun yerine mevcut a\u011fa\u00e7 baz al\u0131narak istenilen de\u011fi\u015fikliklerle yenisi \u00fcretilmelidir. \u015eansl\u0131y\u0131z ki b\u00f6ylesi bir kodu s\u0131f\u0131rdan yazmam\u0131za gerek yok; <strong>SyntaxExtensions<\/strong> static s\u0131n\u0131f\u0131 alt\u0131nda bulanan <strong>ReplaceToken<\/strong> fonksiyonu bunu bizim ad\u0131m\u0131za yapacakt\u0131r. ReplaceToken fonksiyon bu i\u015flemi yapabilmek i\u00e7in bizden sadece de\u011fi\u015ftirilecek eski ve yeni simgeleri isteyecektir. Bu durumda ilk yapmam\u0131z gereken de\u011fi\u015ftirmek istedi\u011fimiz ifadeye ait simgeye ula\u015fmak; ki bu Roslyn ile olduk\u00e7a kolay bir i\u015f haline geliyor;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var konsolCiktiSimgesi = sozDizimAgaciKok.GetFirstToken(p =&amp;gt; p.Kind == SyntaxKind.StringLiteralToken);<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Tabi ki bu sat\u0131r\u0131 yazarken \u00e7al\u0131\u015fma-zaman\u0131nda olu\u015facak olan s\u00f6z dizim a\u011fac\u0131n\u0131 bildi\u011fim ve <strong>StringLiteralToken<\/strong> t\u00fcr\u00fcnden ilk simgenin benim arad\u0131\u011f\u0131m simge olaca\u011f\u0131n\u0131 g\u00f6z \u00f6n\u00fcne almal\u0131s\u0131n\u0131z. Kendi geli\u015ftirdi\u011finiz uygulamalarda arad\u0131\u011f\u0131n\u0131z simgeye ula\u015fabilmek i\u00e7in daha karma\u015f\u0131k i\u015f mant\u0131klar\u0131 kullanman\u0131z gerekebilir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Arad\u0131\u011f\u0131m simgeye ula\u015ft\u0131ktan sonra ikinci ad\u0131mda da bunun yerini alacak olan simgeyi olu\u015fturmal\u0131y\u0131m. Bunun i\u00e7in <strong>Syntax<\/strong> s\u0131n\u0131f\u0131 yard\u0131m\u0131yla <strong>StringLiteralExpression<\/strong> t\u00fcr\u00fcnden bir <strong>LiteralExpression<\/strong> olu\u015fturarak bu ifade yard\u0131m\u0131yla nihai simgeme ula\u015fmal\u0131y\u0131m. Bu i\u015flem i\u00e7in gerekli kod par\u00e7ac\u0131\u011f\u0131 a\u015fa\u011f\u0131da bulunabilir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var yeniKonsolCiktiSimgesi = Syntax.LiteralExpression(SyntaxKind.StringLiteralExpression,\n            Syntax.Literal(\n                text: @\"\"\"Enterprisecoding ve Roslyn'den herkese merhaba!\"\"\",\n                value: \"Enterprisecoding ve Roslyn'den herkese merhaba!\")).Token;<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Elimde eski ve yeni simgeler olduktan sonras\u0131 ise olduk\u00e7a kolay. Tek yapmam gereken bu iki simgeyi ve s\u00f6z dizim a\u011fac\u0131 k\u00f6k\u2019\u00fcn\u00fc kullanarak yeni bir s\u00f6z dizim a\u011fac\u0131 olu\u015fturmak;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sozDizimAgaciKok = sozDizimAgaciKok.ReplaceToken(konsolCiktiSimgesi, yeniKonsolCiktiSimgesi);<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu kadar basit! Art\u0131k elimde g\u00fcncellenmi\u015f haliyle yeni s\u00f6z dizim a\u011fac\u0131m bulunmakta. Bunu kullanarak bir assembly \u00fcretebilece\u011fim gibi yeni halini formatlay\u0131p dosya sistemine yazmam da m\u00fcmk\u00fcn.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Son olarak; yukar\u0131da payla\u015ft\u0131klar\u0131m\u0131 bir araya getirecek olursak, elimizde a\u015fa\u011f\u0131daki kod olacakt\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">var sozDizimAgaci = SyntaxTree.ParseCompilationUnit(\n@\"using System;\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class MerhabaDunya {\n        public static void Mesaj() {\n            Console.WriteLine(\"\"Enterprisecoding'den Roslyn'e Merhaba\"\");\n        }\n    }\n}\");\n\nvar sozDizimAgaciKok = sozDizimAgaci.Root;\nvar konsolCiktiSimgesi = sozDizimAgaciKok.GetFirstToken(p => p.Kind == SyntaxKind.StringLiteralToken);\n\nvar yeniKonsolCiktiSimgesi = Syntax.LiteralExpression(SyntaxKind.StringLiteralExpression,\n            Syntax.Literal(\n                text: @\"\"\"Enterprisecoding ve Roslyn'den herkese merhaba!\"\"\",\n                value: \"Enterprisecoding ve Roslyn'den herkese merhaba!\")).Token;\n\nsozDizimAgaciKok = sozDizimAgaciKok.ReplaceToken(konsolCiktiSimgesi, yeniKonsolCiktiSimgesi);<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu kod par\u00e7ac\u0131\u011f\u0131 \u00f6rnek girdimizi a\u015fa\u011f\u0131daki hale d\u00f6n\u00fc\u015ft\u00fcrecektir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">using System;\nnamespace Com.Enterprisecoding.RoslynOrnegi {\n    public class MerhabaDunya {\n        public static void Mesaj() {\n            Console.WriteLine(\"Enterprisecoding ve Roslyn'den herkese merhaba!\");\n        }\n    }\n}<\/pre>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; Sizlerden ald\u0131\u011f\u0131m geri bildirimler sonras\u0131nda Roslyn ile bizlere sunulan API\u2019lerden S\u00f6z Dizim API\u2019si ile ilgili \u00f6rneklere devam etmenin faydal\u0131 olaca\u011f\u0131n\u0131 g\u00f6r\u00fcyorum. Bu makalemde bir kodun olu\u015fturdu\u011fumuz s\u00f6z dizim a\u011fac\u0131nda dola\u015farak bundan nas\u0131l yeni bir a\u011fa\u00e7 olu\u015fturabilece\u011fimizi sizlerle payla\u015faca\u011f\u0131m. &nbsp;&nbsp; Konuya yabanc\u0131l\u0131k \u00e7ekilmemesi ad\u0131na son iki makalemde verdi\u011fim \u00f6rnek \u00fczerinden devam edelim; var sozDizimAgaci =&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":9524,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28],"tags":[137,140],"class_list":["post-9496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","tag-roslyn","tag-syntax-analysis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; Sizlerden ald\u0131\u011f\u0131m geri bildirimler sonras\u0131nda Roslyn ile bizlere sunulan API\u2019lerden S\u00f6z Dizim API\u2019si ile ilgili \u00f6rneklere devam etmenin faydal\u0131 olaca\u011f\u0131n\u0131 g\u00f6r\u00fcyorum. Bu makalemde bir kodun olu\u015fturdu\u011fumuz s\u00f6z dizim a\u011fac\u0131nda dola\u015farak bundan nas\u0131l yeni bir a\u011fa\u00e7 olu\u015fturabilece\u011fimizi sizlerle payla\u015faca\u011f\u0131m. &nbsp;&nbsp; Konuya yabanc\u0131l\u0131k \u00e7ekilmemesi ad\u0131na son iki makalemde verdi\u011fim \u00f6rnek \u00fczerinden devam edelim; var sozDizimAgaci =...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2011-11-10T22:12:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png\" \/>\n\t<meta property=\"og:image:width\" content=\"209\" \/>\n\t<meta property=\"og:image:height\" content=\"208\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z?\",\"datePublished\":\"2011-11-10T22:12:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\"},\"wordCount\":629,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png\",\"keywords\":[\"Roslyn\",\"Syntax Analysis\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\",\"url\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\",\"name\":\"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png\",\"datePublished\":\"2011-11-10T22:12:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png\",\"width\":209,\"height\":208},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/","og_locale":"en_US","og_type":"article","og_title":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy","og_description":"&nbsp;&nbsp; Sizlerden ald\u0131\u011f\u0131m geri bildirimler sonras\u0131nda Roslyn ile bizlere sunulan API\u2019lerden S\u00f6z Dizim API\u2019si ile ilgili \u00f6rneklere devam etmenin faydal\u0131 olaca\u011f\u0131n\u0131 g\u00f6r\u00fcyorum. Bu makalemde bir kodun olu\u015fturdu\u011fumuz s\u00f6z dizim a\u011fac\u0131nda dola\u015farak bundan nas\u0131l yeni bir a\u011fa\u00e7 olu\u015fturabilece\u011fimizi sizlerle payla\u015faca\u011f\u0131m. &nbsp;&nbsp; Konuya yabanc\u0131l\u0131k \u00e7ekilmemesi ad\u0131na son iki makalemde verdi\u011fim \u00f6rnek \u00fczerinden devam edelim; var sozDizimAgaci =...Read More","og_url":"https:\/\/fatihboy.com\/en\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/","og_site_name":"Fatih Boy","article_published_time":"2011-11-10T22:12:00+00:00","og_image":[{"width":209,"height":208,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png","type":"image\/png"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z?","datePublished":"2011-11-10T22:12:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/"},"wordCount":629,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png","keywords":["Roslyn","Syntax Analysis"],"articleSection":["C#","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/","url":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/","name":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z? - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png","datePublished":"2011-11-10T22:12:00+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2011\/11\/trees_thumb.png","width":209,"height":208},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/soz-dizim-agaciyla-biraz-oynamaya-var-misiniz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"S\u00f6z Dizim A\u011fac\u0131yla Biraz Oynamaya Var M\u0131s\u0131n\u0131z?"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=9496"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/9496\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/9524"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=9496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=9496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=9496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}