﻿
{"id":5158,"date":"2016-10-13T07:40:47","date_gmt":"2016-10-13T07:40:47","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=5158"},"modified":"2016-10-13T07:41:22","modified_gmt":"2016-10-13T07:41:22","slug":"c-7-0-literal-duzenlemelerbinary-literals-and-digit-separators","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/c-7-0-literal-duzenlemelerbinary-literals-and-digit-separators\/","title":{"rendered":"C# 7.0 &#8211; Literal D\u00fczenlemeler(Binary Literals and Digit Separators)"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>C# programlama dilinde ger\u00e7ekle\u015ftirilen kimi yenilikler \u00e7ok ses \u00e7\u0131kar\u0131rken, kimiside \u00f6nceki s\u00fcr\u00fcmlerde laf\u0131 ge\u00e7en lakin anca bir sonraki s\u00fcr\u00fcme yeti\u015ftirilen bir nama sahiptir. \u0130\u015fte \u015fimdi bu tarz bir yenilik olan <strong><em>C# 7.0 &#8211; Literal D\u00fczenlemeler<\/em><\/strong> \u00fczerine konu\u015fuyor olaca\u011f\u0131z. Biliyorum, \u00e7ok ilgi \u00e7ekici ve bahsetti\u011fim gibi s\u00fcpriz bir yenilik olmasada asl\u0131nda olduk\u00e7a kullan\u0131\u015fl\u0131 bir yap\u0131lanman\u0131n geldi\u011fini s\u00f6ylemek istiyorum. Evet, bu konuda bana inanabilirsiniz \ud83d\ude42<\/p>\n<p>C# 7.0 ile gelen Literal D\u00fczenlemelerini, <em>Binary Literals<\/em> ve <em>Digit Separators<\/em> olmak \u00fczere iki ba\u015fl\u0131k alt\u0131nda ele alaca\u011f\u0131z. Her iki konunun i\u00e7eri\u011finde esas, kolay ve okunabilir de\u011ferler yazabilmektir. Binary Literals&#8217;de binary de\u011ferler tan\u0131mlayabilmekteyken, Digit Separators&#8217;de ise tan\u0131mlayaca\u011f\u0131m\u0131z uzun say\u0131lar\u0131 daha okunabilir k\u0131lmaktay\u0131z.<\/p>\n<h3><span style=\"color: #008000;\">Digit Separators<\/span><\/h3>\n<p>Digit Separators, hane ay\u0131r\u0131c\u0131lar\u0131 olarak nitelendirebilece\u011fimiz bir yap\u0131d\u0131r. Yani tan\u0131mlayaca\u011f\u0131m\u0131z say\u0131sal de\u011ferleri rahat yaz\u0131labilir ve okunabilir yapmak i\u00e7in bu yap\u0131y\u0131 kullanabiliriz. Bu \u00f6zellik bizleri yazaca\u011f\u0131m\u0131z de\u011ferlerdeki hata oran\u0131ndan ar\u0131nd\u0131rmaktad\u0131r.<\/p>\n<p>Digit Separators i\u00e7in <strong><em>&#8220;_&#8221;(alt tire)<\/em><\/strong> operat\u00f6r\u00fcn\u00fc kullanmaktay\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            int Sayi1 = 1_000_000;\r\n            double Sayi2 = 1_00;\r\n            decimal Sayi3 = 00_112;\r\n            float Sayi4 = 123_3211123123;\r\n        }\r\n<\/pre>\n<p>Dikkat ederseniz, tan\u0131mlad\u0131\u011f\u0131m say\u0131sal de\u011ferlerde Digit Separators arac\u0131l\u0131\u011f\u0131yla haneleri belirleyebiliyoruz.<\/p>\n<h3><span style=\"color: #008000;\">Binary Literals<\/span><\/h3>\n<p>Binary Literals ile kod i\u00e7erisinde binary tan\u0131mlamalar yapabiliyoruz. Bu i\u015flem i\u00e7in tek yapmam\u0131z gereken binary de\u011ferin ba\u015f\u0131na &#8220;<em>0b<\/em>&#8221; yahut &#8220;<em>0B<\/em>&#8221; de\u011ferini eklememiz yeterlidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            int Binary1 = 0b1100;\r\n            double Binary2 = 0b111001001;\r\n            decimal Binary3 = 0b0;\r\n        }\r\n<\/pre>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere bu \u015fekilde binary de\u011ferler tan\u0131mlayabilmekteyiz.<\/p>\n<p>Ve hatta tan\u0131mlad\u0131\u011f\u0131m\u0131z bu binary de\u011ferlerin okunabiletisini Digit Separators ile a\u015fa\u011f\u0131daki gibi artt\u0131rabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            int Binary1 = 0b1_10_0;\r\n            double Binary2 = 0b1_110_0100_1;\r\n            decimal Binary3 = 0b0_0;\r\n            decimal Binary4 = 0b111_000_111_000;\r\n        }\r\n<\/pre>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere; Digit Separators olduk\u00e7a kullan\u0131\u015fl\u0131 ve hayati \u00f6nem arz eden bir noktaya temas ederken, Binary Literals ise yoklu\u011funda aratmayan ama varl\u0131\u011f\u0131yla bir g\u00fcn laz\u0131m ola(cak)n bir \u00f6zelliktir.<\/p>\n<p>Evet, bir yenili\u011fimizin daha sonuna gelmi\u015f bulunmaktay\u0131z.<br \/>\nBol bol faydalanman\u0131z dile\u011fiyle&#8230;<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/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>Merhaba, C# programlama dilinde ger\u00e7ekle\u015ftirilen kimi yenilikler \u00e7ok ses \u00e7\u0131kar\u0131rken, kimiside \u00f6nceki s\u00fcr\u00fcmlerde laf\u0131 ge\u00e7en lakin anca bir sonraki s\u00fcr\u00fcme yeti\u015ftirilen bir nama sahiptir. \u0130\u015fte \u015fimdi bu tarz bir yenilik olan C# 7.0 &#8211;&#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":5118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,1490],"tags":[1516,1491,1518,1517,1515],"class_list":["post-5158","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","category-c-7-0","tag-binary-literals","tag-c-7-0","tag-c-7-0-yenilikleri","tag-digit-separators","tag-literal-duzenlemeler"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5158","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=5158"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5158\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/5118"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=5158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=5158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=5158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}