belirtilen dizindeki exe dosyasını silmişsin. Project menüsündne rebuild yaparsan düzelir Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.

konsol uygulaması mı bu yoksa win form uygulaması mı? grünüşe gre winform yapmışsın ama console kodlarını yazmışsın. output ekranında çıkar da pek mantığı yok bunun.. bunun yerine console uygulaması neden yapmadın Üstad kodun orjinali bu aslında, http://o1311.hizliresim.com/1h/4/u6hz9. png O derse girememiştim slaytları bakıyordum. edit// Benim anladığım yazıyı konsolda yazıp ekrana formda olarak gstermiş gibi bişi. Ama nasıl yapmış çzemedim. Dediğin gibi konsolda çalıştı. zeybekustasi tarafından 04/Kas/13 00:30 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

tüm değişkenler için byle hocam. değer atamazsan null olur ve onu da bir yerde kullanamıyorsun. stringde de byle kendi yarattığın bir sınıfta da byle Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

Üstat çok sağol :) https://www.youtube.com/watch?v=WC3-71NKwPw

İki sorum daha olacak: Veri Tipi Dnüşümleri İle İlgili. 1. sinde karakr reel sayı olabileceği için aynı C deki gibi şeklinde dnüşüm belirteci kullanarak sadece tam kısmı almasını sağlamış. int karakok = Math. Sqrt ; 2. sinde ise okuduğum kadarı ile Convert komutu ile değişkenlerin tipleri değiştirilebiliyor diyor. (toInt ; diye bir sınıf var mı bilmiyorum ama) aşağıdaki gibi kullanım da varken yukardaki kullanımından farkı nedir? Convert de dnüşüm sağlıyor? Farkı ne ki? int karakok = Convert. Toint(Math. Sqrt İkincisi: Hoca değişkenler başlığı altnda bir rnekte: float sayi=5.7f; demiş. 5.7 nin dibindeki f ne oluyor gerek var mı byle bir şeye? https://www.youtube.com/watch?v=WC3-71NKwPw

Benim anladığım yazıyı konsolda yazıp ekrana formda olarak gstermiş gibi bişi. Ama nasıl yapmış çzemedim. Dediğin gibi konsolda çalıştı. sebebi şu hocam, senin kodların form1 in kurucu metod içerisine yazılı ama o verdiğin resimde static void Main arasına yazılmış.. standart c# projelerinde main metodu program. cs içinde geliyor. sen de bu kodu oraya yazabilirsin.. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

http://www.csharpnedir.com/articles/read/?id=47 al abi bu sayfayı incele. Cehennemin dibine kadar yolum var daha.. || Nasılsa her yalnız kendine sürgündür Asmera unutma.

Bir kaç saattir metotları çalışıyorum aklıma takılan bağzı sorular: 1-) Method illaki bir sınıf içinde tanımlı olmalı yazıyor. C de ne güzel ayrı ayrı fonksiyonlar yazıp çağırıyorduk burada hep sınıf içinde mi methot olmalı? 2-) static tanımlı metotlar a başka sınıftan ulaşılmak istenirse metoda ait sınıftan bir nesne yapmalı ve yle çağırmalıyız diyor. Eğer metot static değilse buna gerek yokmuş. Peki static veya static olmayan metodun farkı nedir? 3-) Az ncede yazmıştım float sayi=5.7f; da f ne işe yarıyor bazılarında double olunca d felan yazılmış. edit// 4) Kafam biraz karıştı bilgiler eksik olduğu için. Bir kaç saattir şunu ğrendim. Bizim bu ana mainimiz olan içinde bir metoda erişmek istersek, BENİM ANLADIĞIM, Erişmek istediğim metod static değilse onun sınıfına ait yeni bir nesne yazağım sonra nesne. değişken= ile veriyi gndereceğim. Erişmek istediğim metod static sede sadece sınıfadı. değişken yazıp argüman gndereceğim. Ama hocamın notlarına bakıyorum. Pek ala her hangi bir metod ve nesne yapmadan nede sınıf adı yazmadan veri gnderen bir rnek var ana menüde yazdir(Str,10) gibi. Notlarda EĞER METODA NESNE GNDERMEK istersek yeni bir nesne tanımlamamız gerektiğini yazmış. Benim anladığım ise eğer static değilse yeni bir nesne yapıp anca onun vasıtası ile metoda ulaşabilirsin. Staticsede sınıf adını kullanarak ulaşabilirim diye anlamıştım. Kafam geçenin 3 olması nedeni ile biraz karıştı. Yüzde kaç doğru nereler yanlış yazasanız çok sevinicem. zeybekustasi tarafından 03/Kas/13 03:06 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

kodunda problem yok, konsolda sıkıntısız çalıştı.. using System; namespace ConsoleApplication1 { class Program { static void Main { float ortalama; int sayac = 0, notu, toplam = 0; Console. Write("Notu Giriniz: (cikis -1) "); notu = Convert. ToInt16(Console. ReadLine ; while (notu!= -1) ; string s; if (sayac 0) s = "Not Girilmedi"; else s = "Sinif Ortalamasi: " + toplam / sayac; Console. WriteLine ; // MessageBox. Show ; Console. ReadKey ; //tuşa basınca program kapanır } } } Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

değişkeni oluşturman problem değil hocam onu kullanman problem.. mesela int ortalama; Console. WriteLine(ortalama. ToString ; dersen hata verir. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

konsol uygulaması mı bu yoksa win form uygulaması mı? grünüşe gre winform yapmışsın ama console kodlarını yazmışsın. output ekranında çıkar da pek mantığı yok bunun.. bunun yerine console uygulaması neden yapmadın unbalanced tarafından 04/Kas/13 00:15 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam sen şimdi int f4; yaptığında f4 değişkeni bellekte oluşturuluyor ama diğer bellek alanında bir değeri yok, değeri olmadığı için de hata veriyor. yani o değişkeni kullanmak istiyorsan ilk olarak bir değer ataman lazım. 0 atayabilirsin. stringlerde de "" ataman gerek gibi. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam sen şimdi int f4; yaptığında f4 değişkeni bellekte oluşturuluyor ama diğer bellek alanında bir değeri yok, değeri olmadığı için de hata veriyor. yani o değişkeni kullanmak istiyorsan ilk olarak bir değer ataman lazım. 0 atayabilirsin. stringlerde de "" ataman gerek gibi. hocam mesela aşağıda int ortalama; değişkenine değer atamadım ama herhangi bir hata vermedi? ... . . . int ortalama; int sayac = 0, notu, toplam = 0; Console. WriteLine("Notu Giriniz: (cikis -1)"); notu = Convert. ToInt16(Console. ReadLine ; . . . ... zeybekustasi tarafından 03/Kas/13 22:27 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

İkinizede teşekkür ediyorum üstadlar :) Ben bu konuyu sevdim sağolsun başta unbalanced hoca olmak üzere cevap veriyorlar. Bu kodlar sınıfın ortalamasını formda gstermesi gerekiyormuş ama olmuyor. Herhangi bir derleme yapmıyor. Sıfırdan başladığım için eminim çok basit mantık ve sintax hatalarım var. Ama bilmeyincede olmuyor... namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1 { float ortalama; int sayac = 0, notu, toplam = 0; Console. WriteLine("Notu Giriniz: (cikis -1)"); notu = Convert. ToInt16(Console. ReadLine ; while (notu!= -1) ; string s; if (sayac 0) s = "Not Girilmedi"; else s = "Sinif Ortalamasi" + toplam / sayac; MessageBox. Show ; } } } zeybekustasi tarafından 04/Kas/13 00:06 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

hocam sen şimdi int f4; yaptığında f4 değişkeni bellekte oluşturuluyor ama diğer bellek alanında bir değeri yok, değeri olmadığı için de hata veriyor. yani o değişkeni kullanmak istiyorsan ilk olarak bir değer ataman lazım. 0 atayabilirsin. stringlerde de "" ataman gerek gibi. Hmm c de byle bir şey yoktu. Sayaç gibi değişkenler hariç bir ilk değer atama zorunluluğu yoktu. Bunda tüm sayısal değişkenlerde var denilebilir yani? https://www.youtube.com/watch?v=WC3-71NKwPw

http://j1311.hizliresim.com/1h/2/u5hm1. png Az nce yoktu byle bişey... https://www.youtube.com/watch?v=WC3-71NKwPw

solution explorer da nce projene sağ tıklayıp clean de, ondan sonra da rebuild yap Sadece bir değişkene sıfır atayınca düzeldi anlamadım olayı. Bir sorum daha var. f4 diye bir değişkenim var. Bunu bir dngüde artırıyorum. Başta direk int f4; olarak tanımladım. Yazdırırkende Console. WriteLine("" + f4); yaptım. ama şu hatayı veriyor: Error1Use of unassigned local variable 'f4' f4 ü bildirimde sıfıra eşitleyince vermiyor. Her değişkeni bir şeye mi atamamız lazım c#da? zeybekustasi tarafından 02/Kas/13 17:37 tarihinde düzenlenmiştir https://www.youtube.com/watch?v=WC3-71NKwPw

İlklendirilmemiş değişkenlerin kullanımı sonucu elde edilecek sonuçlar belirsizdir. rneğin bir C programında int toplam; int toplamin_iki_kati = toplam 2; yazabilirsiniz fakat toplam ve toplamin_iki_kati değişkenlerinin sakladığı bilgi daha nceden bilinemez. C# ilklendirilmemiş değişikliklere hiç izin vermez fakat int z = new int ; derseniz z'nin değeri 0'a eşit olacaktır. Diğer varsayılan değerler için http://msdn.microsoft.com/en-us/library/83fhsxwc(v=vs.90).aspx adresine bakabilirsiniz. Olaylara karışmayın!

solution explorer da nce projene sağ tıklayıp clean de, ondan sonra da rebuild yap rebuild zaten clean + build değil mi?

@zeybekustasi, hocam tür dnüşümlerini iyi ğren soruna gelirsek, aslında çok fark olmamasına rağmen değişken şeklinde yaptığında buna casting denir ve sen değişken türünün aslında bir integer olduğundan eminsin ve bunu derleyiceye bu şekilde bildiriyorsun. converting de ise, çevrim işleri IConvertible arayızünden türetilmiş bir sınıf olup, derleyici arkaplanda ne olacağını bilmese de çevrim yapar, biraz kullanıcı odaklı bir şey bu çokda nemli bir şey değil, asıl tehlike şyle bi şey double degisken = 0.6; int casted = degisken; int converted = Convert. ToInt32 ; şimdi burda degisken e biz 0.6 verdik.. casted değişkeni 0 olarak gelir ama converted 1 olarak atanmış olur.. @fatih, hocam bilmiyorum dediğin gibi de olabilir olmayabilir de. ama aralarında bir fark olması gerek de çok detaylı araştırmadım edit: aynı değilmiş hocam http://stackoverflow.com/a/5429888/1022138 sadece clean + build in yaptığı iş rebuildi tanımlamaya yetmiyor ben stackoverflow.com/questions/1247457/difference-between-rebuild-and-clean-build-in-visual-studio-2008 da gormustum ama tamamen ayni degil demek ki

Şyle yazsak daha güzel olur gibi: using System; namespace CSOrtalama { class Program { static void Main { int toplam = 0; int sayaç = 0; int şimdikiSayi = 0; float ortalama = 0.0f; Console. WriteLine("Not giriniz. Çıkış için -1"); while ((şimdikiSayi = int. Parse(Console. ReadLine != -1) ortalama = toplam / (sayaç!= 0? sayaç : 1); Console. WriteLine("Girilen not sayısı: , toplam: , ortalama: ", sayaç, toplam, ortalama); Console. ReadKey ; } } } Bir string'i int'e ya da başka bir sayı tipine dnüştürmek yerine bir string'in içerdiği sayıyı karakter katarı değil de sayıymış gibi yorumluyoruz Parse metodu ile. sayaç!= 0? sayaç : 1 ise eğer sayaç değeri 0'a eşit değilse sayacın değerini, eğer eşitse 1 değerini gnderiyor ki toplam / sayaç işlemi NaN ya da inf çıkmasın. Ek olarak float yerine double kullanmaya alışın. float yeterince hassas değildir ve çoğu işlem double üzerinden yürütülür. Çok kısıtlı bir platform için yazılım geliştiriyorsanız float tercihiniz olmalı. Olaylara karışmayın!

1- evet hocam sınıf içine yazılır metodlar. c, cpp deki olay aslında global metodlar dediğin şey, eğer bir sınıf içerisinde olsaydı mesela main metodu, o zaman tanınmazdı. c# da ise olay daha farklı. bu iki dilin geleneğinde olan bir şey. mesela. net deki bir konsol uygulamasında main metodu program class ında.. 2- cümlen ters olmuş. ncelikle. net dilinde her şey bir nesnedir. o yüzden c# %100 nesneye dayalı bir dildir denir. Bir sınıftaki bir nesneye farklı bir sınıftan erişmek istiyorsan değişken public türünden olmalı public değişken/metoda diğer sınıflardan ulaşabilirsin. Eğer aynı namespace altında ise direk olarak o sınfı kullanabilirsin, eğer farklı bir namespace altındaysa using kullanarak o namespace i cs dosyasının başına yazman gerek. kodlama yaparken grmüşsündür using system. windows. forms diye.. bunu eklemenin sebebi senin projendeki namespace ile kullandığın nesnenin namespaceleri farklı o yüzden projene referans olarak belirtiyorsun genel tanımları verdikten sonra, B sınıfnda, A sınfındaki bir X metoduna ulaşmak için ncelikle bir nesne türetmen gerekiyor B sınfında ve sonra ilgili metodu çağırmana izin verir class B { void metod1 } class A { public void metod1 private void metod2 } ilk olarak A sınıfndan nesne isimli bir nesne oluşturdum, bu nesne A sınıfı temsil eden bir rnektir ve A sınfının erişim belirleyicileri izin verdikçe A sınıfndaki her şeyi barındırır. Bu oluşturduğumuz nesne A sınıfı temsil etiğinden metod1 i de içinde barındırır. dolayısla A sınfından oluşturduğumuz bir nesneyi kullanarak metod1 i çağırabiliyorum. Ama aynı nesneyi kullanarak metod2 yi çağıramıyorum çünkü private türünde ve B sınıfında buna izin yok. metod2 ye sadece A sınıfı içerisinde erişebilirim.. şimdi iş statik olursa ne olur class B { void metod1 } class A { public static void metod1 private void metod2 } A dan her hangi bir nesne türetmeden direk A. metod1 diye çağırabildim.. peki bu ne işime yarayacak.. mesela A sınfında sadece bir kaç metod var ise A dan bir nesne türetmenin mantığı yok, o yüzden daha kolay erişim için byle bir şey yapılabilir. rneğin math sınıfı statik metodlara sahip bir sınftır. mesela ben toplama işlemi için math degisken = new math ; int sonuc = degisken. Sum(5,6); desem mi daha mantıklı olur yoksa int sonuc = math. Sum(5,6); desem mi? 3- şimdi double da float da virgüllü sayı, double 64 bit, float 32 bittir. eğer sen float değişkenin sonuna f koymazsan derleyici bunu double olarak grür.. ikinci olarak double ı, mesela 1, 1.0 ya da 1d olarak tanımlayabilirsin.. float da ise virgüllü sayı kullanacaksan double ile karışmaması için sonuna bir f koyman lazım.. ama tam değer yazacaksan sıkıntı yok. çünkü int türü de 32 bit olduğu için derleyici hata vermez. peki 32 ve 64 bit ne gibi sorun oluşturur dersen.. double türü bir sürahi su alırken, float türü bir bardak su alıyor, float ın içindeki suyu double a boşaltabilirsin ama double un içindeki suyu floata boşaltamazsın çünkü bardaktaki su sürahiye sığar ama sürahideki su bardağa sığmaz taşar.. 4- pek bi şey anlamadım demek istediğinden ama 2. rnekde bi şeyler anlattım, aydınlanırsın biraz ama belki şunu sormak istemişsindir diyerek ekleyeyim.. statik bir metod içerisinden sadece statikleri çağırabilirsin.. metod statik değil ise o zaman statik de statik olmayanı da çağırabilirsin.. sonuç: nesneye ynelimli programlama nemli bir yer tutar yazılımcı açısından. benim teorik kısmım biraz zayıftır, o yüzden bu eksikliği çok hissediyorum bazen :) ama sen işn teorisini iyi ğrenmeye bak o yüzden hep tavsiye ettiğim sefer algan ın kitabını alırsan bu konudaki tüm soru işaretlerin gidecektir. şimdi ğrenme sürecindesin ve bu bir zincirin halkası gibidir.. tam ve doğru anlamak için mutlaka bu kitaba sahip ol ki ilerde eksik halka yüzünden sıkıntı yaşama.. çünkü oop çok detaylı bir sistemdir o yüzden bunu sağlam bir kaynaktan ğrenmende fayda var iyi çalışmalar Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

@zeybekustasi, hocam tür dnüşümlerini iyi ğren soruna gelirsek, aslında çok fark olmamasına rağmen değişken şeklinde yaptığında buna casting denir ve sen değişken türünün aslında bir integer olduğundan eminsin ve bunu derleyiceye bu şekilde bildiriyorsun. converting de ise, çevrim işleri IConvertible arayızünden türetilmiş bir sınıf olup, derleyici arkaplanda ne olacağını bilmese de çevrim yapar, biraz kullanıcı odaklı bir şey bu çokda nemli bir şey değil, asıl tehlike şyle bi şey double degisken = 0.6; int casted = degisken; int converted = Convert. ToInt32 ; şimdi burda degisken e biz 0.6 verdik.. casted değişkeni 0 olarak gelir ama converted 1 olarak atanmış olur.. @fatih, hocam bilmiyorum dediğin gibi de olabilir olmayabilir de. ama aralarında bir fark olması gerek de çok detaylı araştırmadım edit: aynı değilmiş hocam http://stackoverflow.com/a/5429888/1022138 sadece clean + build in yaptığı iş rebuildi tanımlamaya yetmiyor unbalanced tarafından 02/Kas/13 20:23 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

solution explorer da nce projene sağ tıklayıp clean de, ondan sonra da rebuild yap Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.