﻿
{"id":3526,"date":"2016-02-16T17:44:00","date_gmt":"2016-02-16T17:44:00","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3526"},"modified":"2016-02-16T17:44:00","modified_gmt":"2016-02-16T17:44:00","slug":"tryparse-metodu-ile-tip-donusumu","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/tryparse-metodu-ile-tip-donusumu\/","title":{"rendered":"TryParse Metodu \u0130le Tip D\u00f6n\u00fc\u015f\u00fcm\u00fc"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>C# mimarisi temel tipler \u00fczerinde bir\u00e7ok d\u00f6n\u00fc\u015f\u00fcm fonksiyonlar\u0131 ve teknikleri bar\u0131nd\u0131rmaktad\u0131r. Bu yaz\u0131m\u0131zda sizlere bu i\u015flemi ger\u00e7ekle\u015ftiren onca teknikten biri olan\u00a0<strong>TryParse<\/strong>\u00a0fonksiyonundan bahsedece\u011fim. Bu metotta anlataca\u011f\u0131m y\u00f6ntemleri bildi\u011fimiz teknik ve y\u00f6ntemlerle ger\u00e7ekle\u015ftirebildi\u011fimizi \u00f6ncelikle belirtmekte fayda var.<\/p>\n<p>Biliyoruz ki, de\u011fer tipli de\u011fi\u015fkenlerimiz i\u00e7erisinden &#8220;string&#8221; tipi bir\u00e7ok s\u0131rra vak\u0131ft\u0131r. Asl\u0131nda bir referans tipi olmas\u0131yla beraber bir\u00e7ok \u00f6zelli\u011fine yer yer de\u011findi\u011fimiz bir tiptir.<\/p>\n<p>De\u011fer d\u00f6n\u00fc\u015f\u00fcmlerinde Convert veyahut Parse metodlar\u0131 arac\u0131l\u0131\u011f\u0131yla d\u00f6n\u00fc\u015f\u00fcm ger\u00e7ekle\u015ftirirken &#8220;string&#8221; ifadelerde bir mant\u0131\u011fa dikkat etmemiz gerekiyordu. &#8220;123&#8221; ifadesi ile &#8220;123a&#8221; ifadesi aras\u0131nda de\u011fer tipi olarak hi\u00e7 bir fark olmasada bu iki ifadenin de\u011fersel fark\u0131 mevcuttu. Tamam, &#8220;123&#8221; ile &#8220;123a&#8221; bir string tipte de\u011fer olarak tutulacakt\u0131r, ona \u015f\u00fcphe yok lakin bu iki ifadeden &#8220;123&#8221;,\u00a0&#8220;int&#8221; tipinden de\u011ferlere kar\u015f\u0131 gelmekteyken di\u011feri(123a) sadece ve sadece &#8220;string&#8221; bir de\u011fere kar\u015f\u0131l\u0131k gelmektedir.<\/p>\n<p>Genellikle e\u011fitim s\u00fcre\u00e7lerinde ilk konular olan bu \u00e7evirim i\u015flemlerinde \u00f6\u011frencilere bu meseleyi idrak etmeye \u00e7al\u0131\u015fmak\u00a0biraz \u015fok etkisi yaratabilmektedir. Herneyse&#8230;<\/p>\n<p>\u0130\u015fte bu tarz durumlarda Convert &#8211; Parse i\u015flemlerinde hata almam\u0131z olas\u0131 durumdur.\u00a0<strong>TryParse<\/strong>\u00a0metodu ile &#8220;string&#8221; tipteki bir veriyi ilgili tipe \u00e7evirebilmekteyiz. \u00c7evirme esnas\u0131nda yukar\u0131da bahsetti\u011fim olas\u0131 duruma kar\u015f\u0131l\u0131k size temel kontrol yap\u0131lar\u0131n\u0131 kullanarak i\u015flevsel hareket etmenizi sa\u011flayan bir metod yap\u0131s\u0131d\u0131r.<\/p>\n<p>B\u00fct\u00fcn de\u011fer tiplerinde kullanabilece\u011finiz bu metoda de\u011fi\u015fkenin tipi \u00fczerinden eri\u015febilmekteyiz.<\/p>\n<blockquote><p><em>\u00d6rne\u011fin;<\/em><\/p>\n<p><em>int.TryParse()<\/em><br \/>\n<em>bool.TryParse()<\/em><br \/>\n<em>char.TryParse()<\/em><\/p><\/blockquote>\n<p>Prototip olarak a\u015fa\u011f\u0131daki gibidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\ntip.TryParse(&quot;d\u00f6n\u00fc\u015f\u00fcm yapmak istedi\u011finiz string de\u011fer&quot;, d\u00f6n\u00fc\u015ft\u00fcr\u00fclm\u00fc\u015f de\u011feri tutacak de\u011fi\u015fken)\r\n<\/pre>\n<p>Yukar\u0131da prototipi incelersek e\u011fer, metodun birinci parametresinde string de\u011ferimizi belirtiyoruz. Bu de\u011fer &#8220;123(int)&#8221;, &#8220;true(bool)&#8221;, &#8220;a(char)&#8221; vs. gibi bir de\u011fer olabilir. E\u011fer d\u00f6n\u00fc\u015f\u00fcm belirtilen tipe ba\u015far\u0131l\u0131 ger\u00e7ekle\u015ftirilirse ikinci parametredeki out parametre olarak belirtece\u011fimiz de\u011fi\u015fkene yeni tipteki de\u011feri atayacakt\u0131r.<\/p>\n<p>Bundan sonra a\u015fa\u011f\u0131daki kod blo\u011funu incelemeniz yeterli olacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            int Sayi;\r\n            bool Sonuc = int.TryParse(&quot;123&quot;, out Sayi);\r\n            if (Sonuc)\r\n            {\r\n                \/\/D\u00f6n\u00fc\u015f\u00fcm ger\u00e7ekle\u015ftirildi.\r\n                Console.WriteLine(&quot;D\u00f6n\u00fc\u015f\u00fcm ger\u00e7ekle\u015ftirildi.&quot;);\r\n            }\r\n            else\r\n            {\r\n                \/\/D\u00f6n\u00fc\u015f\u00fcm m\u00fcmk\u00fcn de\u011filse buras\u0131 tetiklenecektir.\r\n                Console.WriteLine(&quot;D\u00f6n\u00fc\u015f\u00fcm ger\u00e7ekle\u015ftirilemedi.&quot;);\r\n            }\r\n<\/pre>\n<p>Ba\u015fka bir tipte \u00f6rnek vermek gerekirse,<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            bool x;\r\n            bool Sonuc = bool.TryParse(&quot;false&quot;, out x);\r\n            if (Sonuc)\r\n            {\r\n                Console.WriteLine(x);\r\n            }\r\n            else\r\n            {\r\n                Console.WriteLine(x);\r\n            }\r\n<\/pre>\n<p>yeterli olacakt\u0131r.<\/p>\n<p>Hepinize iyi \u00e7al\u0131\u015fmalar dilerim&#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>C# mimarisi temel tipler \u00fczerinde bir\u00e7ok d\u00f6n\u00fc\u015f\u00fcm fonksiyonlar\u0131 ve teknikleri bar\u0131nd\u0131rmaktad\u0131r. Bu yaz\u0131m\u0131zda sizlere bu i\u015flemi ger\u00e7ekle\u015ftiren onca teknikten biri olan\u00a0TryParse\u00a0fonksiyonundan bahsedece\u011fim. Bu metotta anlataca\u011f\u0131m y\u00f6ntemleri bildi\u011fimiz teknik ve y\u00f6ntemlerle ger\u00e7ekle\u015ftirebildi\u011fimizi \u00f6ncelikle belirtmekte fayda&#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":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-3526","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3526","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=3526"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3526\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}