{"id":97,"date":"2009-04-03T11:07:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=97"},"modified":"2009-04-03T11:07:00","modified_gmt":"1970-01-01T00:00:00","slug":"yazilim-mutfagi-dersleri-csharp-ders-4-diziler-cok-boyutlu-diziler-duzenli-ve-duzensiz-cok","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2009\/04\/03\/yazilim-mutfagi-dersleri-csharp-ders-4-diziler-cok-boyutlu-diziler-duzenli-ve-duzensiz-cok\/","title":{"rendered":"Yazilim Mutfagi Dersleri ( C#)  Ders 4 &#8211; Diziler, \u00c7ok Boyutlu Diziler, D\u00fczenli ve D\u00fczensiz \u00c7ok Boyutlu Diziler Nasil Kullanilir. foreach D\u00f6ng\u00fcs\u00fcn\u00fcn Kullanimi."},"content":{"rendered":"<h3>\n\t&Ouml;nceki Dersler<\/h3>\n<ul>\n\t<li>\n\t\t<a href=\"http:\/\/www.yazilimmutfagi.com\/MakaleOku.aspx?Makale=YazIlIm+MutfagI+Dersleri+(CSharp)++Ders+1+-+Giris&amp;MakaleKey=a771ce70-fb92-4c93-96f0-b7155c4dc36c\">Ders 1 &#8211; Giris<\/a><\/li>\n\t<li>\n\t\t<a href=\"http:\/\/www.yazilimmutfagi.com\/MakaleOku.aspx?Makale=YazIlIm+MutfagI+Dersleri+(CSharp)+Ders+2+-+Degisken+Tipleri,+Degisken+TanImlama+ve+Operatorler&amp;MakaleKey=13e2a215-a5a0-4716-a3bf-91a7393b551e\">Ders 2 &#8211; Degisken Tipleri, Degisken Tanimlama ve Operat&ouml;rler<\/a><\/li>\n\t<li>\n\t\t<a href=\"http:\/\/www.yazilimmutfagi.com\/MakaleOku.aspx?Makale=YazIlIm+MutfagI+Dersleri+(CSharp)+Ders+3+-+Kosul+ifadeleri+(if+else,+switch+case)+ve+Dong%C3%BCler(for,+do+while,+while)&amp;MakaleKey=f423e015-f3f4-4b9e-bc97-8399cb487b16\">Ders 3 &#8211; Kosul Ifadeleri (if else, switch case) ve D&ouml;ng&uuml;ler(for, do while, while)<\/a><\/li>\n<\/ul>\n<h2>\n\tC# da Diziler<\/h2>\n<p>\n\tDiziler i&ccedil;in ayni tipteki verilerin tutuldugu bir koleksiyon diyebiliriz. &Ouml;rnegin integer verinin bir yigin seklinde tutulmasi i&ccedil;in dizileri kullaniriz. C# da diziler referans tipinde degiskenlerdendir. C# da tanimlanan t&uuml;m diziler System.Array sinifindan t&uuml;remis bir nesnedir. C# da diziler asagidaki gibi tanimlanir.<\/p>\n<pre class=\"brush:csharp\">\n&lt;veri tipi&gt;[] &lt;degisken ismi&gt; = new &lt;veri tipi&gt;[&lt;dizinin boyutu&gt;];\n<\/pre>\n<p>\n\t10 adet integer veri tutan bir dizinin tanim ise<\/p>\n<pre class=\"brush:csharp\">\nint[] integerDizi = new int[10];<\/pre>\n<p>\n\tBir dizinin boyutlari sabittir ve kullanilmadan &ouml;nce belirlenmelidir. Dizi boyutunu belirlemek i&ccedil;in baska bir degiskende kullanabilirsiniz.<\/p>\n<pre class=\"brush:csharp\">\nint boyut = 10;\nint[] integerDizi = new int[boyut];\n<\/pre>\n<p>\n\tDiziyi tanimlama ve baslangi&ccedil; degerlerini atama islemini ayri satirlardada yapabilirsiniz.<\/p>\n<pre class=\"brush:csharp\">\nint[] integerDizi;\nintegerDizi = new int[10];\n<\/pre>\n<p>\n\tAyrica dizileri tanimlarken, dizi i&ccedil;ine atmak istediginiz verileride belirterek dizi tanimlayabilirsiniz. Bunun i&ccedil;in kullanacaginiz veri tipine uygun olacak sekilde, s&uuml;sl&uuml; parantez i&ccedil;inde her biri virg&uuml;lle ayrilmis dizi elemanlarini yazmaniz yeterli.<\/p>\n<pre class=\"brush:csharp\">\nint[] integerDizi = {1,2,3,4,5,6,7,8,9};\n<\/pre>\n<p>\n\tYukarida 10 adet elemani olan ve degerleri de verilmis, integer tipinde verileri tutan bir dizi tanimladik. Eger dizimiz string degerler tutacak olsaydi, s&uuml;sl&uuml; parantez i&ccedil;ine yazdigimiz elemanlarin her birini &ccedil;ift tirnaklar arasina almamiz gerekirdi.<\/p>\n<pre class=\"brush:csharp\">\nstring[] strDizi = { &quot;Sabri&quot;, &quot;Metin&quot;, &quot;Osman&quot;, &quot;Ali&quot; };\n<\/pre>\n<h3>\n\tDizi Elemanlarina Ulasmak<\/h3>\n<p>\n\tDizi elemanlarina ulasmak i&ccedil;in [indeks] indeks operat&ouml;r&uuml;n&uuml; kullaniriz. Dikkat edilmesi gereken nokta C# da dizilerin elemanlari 0. Indeksten baslar, yani eger 5 elemanli bir dizimiz varsa bu dizinin birinci elemani 0. indekste son elemani ise 4. indekstedir. 5 elemanli bir dizinin 3. elemanina asagidaki gibi erisiriz.<\/p>\n<pre class=\"brush:csharp\">\nint[] integerDizi = { 1, 2, 3, 4, 5};\nint ucuncuEleman = integerDizi[2];\n<\/pre>\n<h4>\n\tBir dizi i&ccedil;indeki elemanlara ulasmak i&ccedil;in basit bir &ouml;rnek:<\/h4>\n<pre class=\"brush:csharp\">\nint[] integerDizi = { 4, 8, 23, 64, 35 };\nfor (int i = 0; i &lt; 5; i++)\n{\n    Console.WriteLine(&quot;Dizinin {0}. Elemaninin Degeri = {1} &quot;, i, integerDizi[i]);\n}\n<\/pre>\n<p>\n\tYukaridaki kodun &ccedil;alismasi sonucu olusan ekran g&ouml;r&uuml;nt&uuml;s&uuml;:<\/p>\n<p>\n\tDizinin 0. Elemaninin Degeri = 4<br \/>\n\tDizinin 1. Elemaninin Degeri = 8<br \/>\n\tDizinin 2. Elemaninin Degeri = 23<br \/>\n\tDizinin 3. Elemaninin Degeri = 64<br \/>\n\tDizinin 4. Elemaninin Degeri = 35<\/p>\n<p>\n\tYukaridaki &ouml;rnekte bir dizi olusturduk ve bu dizinin eleman sayisi kadar bir for d&ouml;ng&uuml;s&uuml; kurduk. D&ouml;ng&uuml; i&ccedil;inde diziye ait elemanlarin degerlerine tek tek ulastik.<\/p>\n<p>\n\tPeki kullandigimiz dizinin eleman sayisini bilmeseydik nasil d&ouml;ng&uuml;ye girebilirdik. B&uuml;t&uuml;n diziler System.Array sinifindan t&uuml;remis nesnelerdir demistik. System.Array sinifinin Length diye bir &ouml;zelligi vardir, dogal olarakda t&uuml;m dizilerinde bir Length &ouml;zelligi olur. Dizimizin eleman sayisini dizininAdi.Length diyerek alabiliriz. Yukaridaki &ouml;rnegi bu y&ouml;ntemle yeniden yazacak olursak.<\/p>\n<pre class=\"brush:csharp\">\n \nint[] integerDizi = { 4, 8, 23, 64, 35 };\nfor (int i = 0; i &lt; integerDizi.Length; i++)\n{\n    Console.WriteLine(&quot;Dizinin {0}. Elemaninin Degeri = {1} &quot;, i, integerDizi[i]);\n}\n<\/pre>\n<p>\n\tYukaridaki kodu &ccedil;alistirdiginizda bir &ouml;nceki &ouml;rnegimizle ayni sonucu &uuml;retir.<\/p>\n<p>\n\tDizilerle ilgili dersimize devam etmeden &ouml;nce diziler i&ccedil;in kullandigimiz foreach d&ouml;ng&uuml;s&uuml;ne bakalim.<\/p>\n<h2>\n\tforeach D&ouml;ng&uuml;s&uuml;<\/h2>\n<p>\n\tDiziler ve koleksiyonlarin elemanlarina erismek i&ccedil;in basit ve kullanisli bir d&ouml;ng&uuml; &ccedil;esidi. D&ouml;ng&uuml;ler dersinde bahsetmedik &ccedil;&uuml;nk&uuml; dizileri anlatmadan foreach d&ouml;ng&uuml;s&uuml;n&uuml; anlamaya &ccedil;alismak bosuna olacakti. foreach d&ouml;ng&uuml;s&uuml;n&uuml;n yapisi asagidaki gibidir.<\/p>\n<pre class=\"brush:csharp\">\n \nforeach(&lt;dizi i&ccedil;indeki elemalarin veri tipi&gt; &lt;degisken ismi&gt; in &lt;diziveyaKoleksiyonadi&gt;)\n{\n    &lt;Kod blogumu&gt;\n}\n<\/pre>\n<p>\n\tYukarida for d&ouml;ng&uuml;s&uuml; ile yaptigimiz &ouml;rnegimiz foreach d&ouml;ng&uuml;s&uuml; ile yapalim.<\/p>\n<pre class=\"brush:csharp\">\nforeach (int diziElemani in integerDizi)\n{\n    Console.WriteLine(&quot;Elemanin Degeri = {0} &quot;, diziElemani);\n}\n<\/pre>\n<p>\n\t&Ccedil;ok daha basit ve kullanisli oldugunu g&ouml;rebilirsiniz.<\/p>\n<ul>\n\t<li>\n\t\tForeach d&ouml;ng&uuml;s&uuml; kullanirken ulastigimiz dizi elemanlari readonly dir. Yani yukaridaki &ouml;rnek &uuml;zerinde anlatacak olursak foreach d&ouml;ng&uuml;s&uuml; i&ccedil;inde diziElemani adli integer degiskenin i&ccedil;erdigi degeri degistiremezsiniz. Eger degistirmeye kalkarsaniz Cannot assign to &#39;diziElemani&#39; because it is a &#39;foreach iteration variable&#39; hatasi alirsiniz. Eger yazdiginiz uygulamada dizi elemanlarini d&ouml;ng&uuml; i&ccedil;inde degistirmek istiyorsaniz for d&ouml;ng&uuml;s&uuml; kullanmanizi tavsiye ederim.<\/li>\n\t<li>\n\t\tString tipindeki bir degiskende char tipindeki verilerin birlesmesinden olusmus bir dizidir. &Ouml;yleyse foreach d&ouml;ng&uuml;s&uuml; kullanarak asagidaki gibi bir stringin elemanlarini erisebilirsiniz.<\/li>\n<\/ul>\n<pre class=\"brush:csharp\">\nstring metin = &quot;Yazilim Mutfagi&quot;;\nforeach (char harf in metin)\n{\n    Console.WriteLine(&quot;Harf = {0} &quot;, harf);\n}\n<\/pre>\n<h2>\n\t&Ccedil;ok Boyutlu Diziler (Multidimensional Array)<\/h2>\n<p>\n\t&Ccedil;ok boyutlu bir dizi &lsquo;dizinin dizisi&rsquo; seklinde tabir edilebilir. Her elemani baska bir dizi olan diziler &ccedil;ok boyutlu bir dizidir. &Ccedil;ok boyutlu bir dizi veritabaninda her satirinda birden fazla kolon bulunan bir tabloya benzetilebilir. Eger her satirda bulunan her kolon kendi i&ccedil;inde baska bir dizi barindirmiyorsa bu t&uuml;r dizilere 2 boyutlu diger bir degisle &ccedil;ok boyutlu diziler denir. Eger her kolonda kendi i&ccedil;inde baska bir dizi barindiriyorsa bu t&uuml;r dizilere n boyutlu diziler denir. Burda n ifadesi dizinin derinligini ifade eder.<\/p>\n<h4>\n\t&Ccedil;ok boyutlu diziler iki &ccedil;esittir;<\/h4>\n<ul>\n\t<li>\n\t\t<strong>D&uuml;zenli Diziler:<\/strong> Her satiri ayni sayida kolon barindiran diziler.<\/li>\n\t<li>\n\t\t<strong>D&uuml;zensiz Diziler (Jagged Array) :<\/strong> Her satiri farkli sayida kolon barindiran diziler.<\/li>\n<\/ul>\n<p>\n\t&Ccedil;ok boyutlu dizileri sekillerle anlatmaya &ccedil;alisalim.,<\/p>\n<p>\n\tNot: Dizilerin ilk elemaninin indeks numarasinin 0 oldugunu unutmayin.<\/p>\n<p>\n\t<img decoding=\"async\" alt=\"tek boyutlu \u00e7ift boyutlu ve 3 boyutlu diziler\" src=\"http:\/\/www.yazilimmutfagi.com\/Makale\/Dersler\/CSharp\/Ders4\/resim1.jpg\" style=\"width: 448px; height: 767px; margin: 10px;\" \/><\/p>\n<h2>\n\tDizilerin Tanimlanmasi ve Deger Atamalari<\/h2>\n<p>\n\tTek boyutlu bir dizinin nasil tanimlandigini ve nasil deger atayacagimizi yukarda anlatmistik. Simdi Tek boyutlu dizi dahil t&uuml;m dizi tiplerini nasil tanimlayacagimiza bakalim.<\/p>\n<h3>\n\tTek Boyutlu Diziler:<\/h3>\n<pre class=\"brush:csharp\">\n\/\/Dizinin Olusturulmasi\nint[] intDizi = new int[5];\n\n\/\/Dizi elemanlarina deger atamasi\nintDizi[0] = 36; \/\/dizinin ilk elemanina 36 degeri atandi\nintDizi[2] = 26; \/\/dizinin ikinci elemanina 26 degeri atandi\nintDizi[4] = 32; \/\/dizinin son elemanina 32 degeri atandi\n<\/pre>\n<h3>\n\t&Ccedil;ok Boyutlu Diziler:<\/h3>\n<pre class=\"brush:csharp\">\n\/\/Dizinin Olusturulmasi\nint[,] intCokBDizi = new int[2, 3];\n\/\/Dizi elemanlarina deger atamasi\nintCokBDizi[0, 0] = 23;\nintCokBDizi[0, 1] = 25;\nintCokBDizi[0, 2] = 33;\nintCokBDizi[1, 0] = 41;\nintCokBDizi[1, 1] = 29;\nintCokBDizi[1, 2] = 93;\n<\/pre>\n<h3>\n\t&Ccedil;ok Boyutlu Dizilerin Elemanlarina D&ouml;ng&uuml; Ile Ulasmak<\/h3>\n<h3>\n\tfor d&ouml;ng&uuml;s&uuml;:<\/h3>\n<pre class=\"brush:csharp\">\n\/\/Dizi elemanlarini for d&ouml;ng&uuml;s&uuml; ile bulmak.\nfor (int row = 0; row &lt; intCokBDizi.GetLength(0); row++)\n{\n    for (int col = 0; col &lt; intCokBDizi.GetLength(1); col++)\n    {\n        Console.WriteLine(&quot;Dizinin {0},{1} indeksindeki degeri : {2}&quot;,row,col,intCokBDizi[row,col]);\n    }\n}\n<\/pre>\n<p>\n\t<strong>Ekran &Ccedil;iktisi:<\/strong><\/p>\n<p>\n\tDizinin 0,0 indeksindeki degeri : 23<br \/>\n\tDizinin 0,1 indeksindeki degeri : 25<br \/>\n\tDizinin 0,2 indeksindeki degeri : 33<br \/>\n\tDizinin 1,0 indeksindeki degeri : 41<br \/>\n\tDizinin 1,1 indeksindeki degeri : 29<br \/>\n\tDizinin 1,2 indeksindeki degeri : 93<\/p>\n<p>\n\tGetLength() fonksiyonu dizinin belirtilen boyutundaki eleman sayisini verir. Yukaridaki &ouml;rnekte g&ouml;r&uuml;ld&uuml;g&uuml; gibi parametre olarak 0 veya 1 veriyoruz. 0 dizinin birinci boyutundaki eleman sayisi yani satir sayisi, 1 verdigimizde ise dizinin 2.boyutu yani kolon sayisini verir.<\/p>\n<p>\n\tDizilerin Length &ouml;zelligi dizi i&ccedil;inde bulunan toplam eleman sayisini verir. &Ouml;rnegin yukaridaki &ouml;rnekte tanimladigimiz dizi i&ccedil;in intCokBDizi.Length sonu&ccedil; olarak 6 d&ouml;nd&uuml;r&uuml;r.<\/p>\n<p>\n\t2 boyutlu D&uuml;zensiz dizilerde foreach d&ouml;ng&uuml;s&uuml; kullanamayiz. foreach d&ouml;ng&uuml;s&uuml;n&uuml; sadece t&uuml;m elemanlara erismek i&ccedil;in kullanabiliriz. Eger her boyuttaki elemana farkli erismek istiyorsak for d&ouml;ng&uuml;s&uuml; kullanmamiz gerekiyor. foreach d&ouml;ng&uuml;s&uuml; ile d&uuml;zensiz 2 boyutlu dizilerin elemanlarina erisebiliriz. &Ouml;nce d&uuml;zensiz dizilerin nasil tanimlandigina bakalim sonrada foreach d&ouml;ng&uuml;s&uuml; ile elemanlarina nasil erisecegimize g&ouml;z atalim.<\/p>\n<h3>\n\tD&uuml;zensiz &Ccedil;ok Boyutlu Diziler:<\/h3>\n<pre class=\"brush:csharp\">\n\/\/Dizinin Olusturulmasi\nint[][] intCokBDizi = new int[3][];\n\n\/\/Ikinci boyutta bulunan her elemanda bir dizi olduguna g&ouml;re\n\/\/onlarida new komutu ile ayarlamamiz gerekir.\nintCokBDizi[0] = new int[2];\nintCokBDizi[1] = new int[4];\nintCokBDizi[2] = new int[3];\n\n\/\/Dizi elemanlarina deger atamasi\nintCokBDizi[0][0] = 13;\nintCokBDizi[0][1] = 15;\n\nintCokBDizi[1][0] = 21;\nintCokBDizi[1][1] = 29;\nintCokBDizi[1][2] = 29;\nintCokBDizi[1][3] = 23;\n\nintCokBDizi[2][0] = 39;\nintCokBDizi[2][1] = 39;\nintCokBDizi[2][2] = 33;\n<\/pre>\n<p>\n\tBir &ouml;nceki anlattigimiz d&uuml;zensiz &ccedil;ok boyutlu dizide for d&ouml;ng&uuml;s&uuml; kullanarak elemanlara tek tek ulasmistik. D&uuml;zensiz dizilerde elemanlara tek tek ulasmak istedigimizde for d&ouml;ng&uuml;s&uuml; yerine foreach d&ouml;ng&uuml;s&uuml; kullaniyoruz.<\/p>\n<h3>\n\tforeach D&ouml;ng&uuml;s&uuml;:<\/h3>\n<pre class=\"brush:csharp\">\nforeach (int[] row in intCokBDizi)\n{\n    foreach (int col in row)\n    {\n        Console.WriteLine(col);\n    }\n    Console.WriteLine(&quot;---------&quot;);\n}\n<\/pre>\n<pre>\nEkran &Ccedil;iktisi\n13\n15\n---------\n21\n29\n29\n23\n---------\n39\n39\n33\n---------<\/pre>\n<p>\n\tYukarida anlattiklarimizin isiginda 3 boyutlu d&uuml;zenli ve d&uuml;zensiz dizileri nasil tanimlariz ve bunlara nasil deger atamasi yapariz bir &ouml;rnekle anlatalim.<\/p>\n<pre class=\"brush:csharp\">\n\/\/3 boyutlu d&uuml;zenli dizi tanimlama\nint[,,] intUcBDizi = new int[2,3,2];\n\n\/\/3 boyutlu d&uuml;zenli diziye deger atama\nintUcBDizi[0, 0, 0] = 1;\nintUcBDizi[0, 0, 1] = 34;\nintUcBDizi[1, 1, 0] = 156;\n\n\/\/3 boyutlu d&uuml;zensiz dizi tanimlama\nint[][][] intUcBDuzensizDizi = new int[2][][];\n\n\/\/3 boyutlu d&uuml;zensiz dizinin alt elemanlarini ayarlama\nintUcBDuzensizDizi[0] = new int[2][];\nintUcBDuzensizDizi[0][0] = new int[3];\nintUcBDuzensizDizi[0][1] = new int[4];\n\nintUcBDuzensizDizi[1] = new int[3][];\nintUcBDuzensizDizi[1][0] = new int[2];\nintUcBDuzensizDizi[1][1] = new int[5];\nintUcBDuzensizDizi[1][2] = new int[3];\n\n\/\/3 boyutlu d&uuml;zensiz diziye deger atama\nintUcBDuzensizDizi[0][0][0] = 129;\nintUcBDuzensizDizi[0][0][1] = 65;\nintUcBDuzensizDizi[0][1][0] = 119;\nintUcBDuzensizDizi[0][1][1] = 35;\n\nintUcBDuzensizDizi[1][1][1] = 30;\nintUcBDuzensizDizi[1][2][1] = 37;\n<\/pre>\n<p>\n\t&Ouml;rneklerimizde hep integer tipinde veri tutan dizilerden bahsettik. &Ouml;rneklerle string deger tutan dizilerin nasil kullanildigini basit&ccedil;e anlatalim.<\/p>\n<pre class=\"brush:csharp\">\nstring[] isim = new string[4];\n<\/pre>\n<p>\n\tDizi elemanlarinin degerlerini olusturma aninda vermek<\/p>\n<pre class=\"brush:csharp\">\nstring[] isim = new string[4]{&quot;Sabri&quot;,&quot;Seher&quot;,&quot;Ali&quot;,&quot;Metin&quot;};\n\n\/\/veya\nstring[] isim2 = new string[] { &quot;Sabri&quot;, &quot;Seher&quot;, &quot;Ali&quot;, &quot;Metin&quot; };\n\n\/\/veya\nstring[] isim3 = { &quot;Sabri&quot;, &quot;Seher&quot;, &quot;Ali&quot;, &quot;Metin&quot; };\n\n\/\/veya tanimlama ve deger olusturma islemini ayri satirlarda yapma\nstring[] isim4;\nisim4 = new string[4] { &quot;Sabri&quot;, &quot;Seher&quot;, &quot;Ali&quot;, &quot;Metin&quot; };\n<\/pre>\n<p>\n\tIlk olusturma aninda elemanlara deger verme islemini 2 boyutlu dizilerde de asagidaki gibi yapabiliriz.<\/p>\n<pre class=\"brush:csharp\">\nstring[][] isimListesi = { new string[] { &quot;Sabri&quot;, &quot;Seher&quot; }, new string[] { &quot;Ahmet&quot;, &quot;Mehmet&quot;, &quot;Zuhal&quot;, } };\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Diziler i&#231;in ayni tipteki verilerin tutuldugu bir koleksiyon diyebiliriz. &#214;rnegin integer verinin bir yigin seklinde tutulmasi i&#231;in dizileri kullaniriz. C# da diziler referans tipinde degiskenlerdendir. C# da tanimlanan t&#252;m diziler System.Array sinifindan t&#252;remis bir nesnedir. C# da diziler asagidak<\/p>\n","protected":false},"author":517,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[436],"tags":[5966,4622,3852,4161,6324,6292,6372,4896,5352,6208,6141,5858,5535],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/97"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/517"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}