C# İf Yapısı
-
merabalar arkadaşlar... öncelikle söylemem gerekir ki c# ye yeni başladım. o yüzden yardımcı olursanız sevinirim
şimdi bi textbox ' un içine programın ismini girip butona basınca o programı açacak bişilerle uğraşıyorm.
napalım başlangıç aşaması :D gerçi HelloWorld olayını geçtik ama neyse :D
şimdi sorun şu ki henuz bi programın ismini yazınca tanımladığım bütün programlar açılıyor :D
sanırım kodlarda bi eksiklik var if fonksiyonuyla ilgili
ilgili bölümün kodları şu şekilde :
private void but10_Click(object sender, EventArgs e)
{
string m = "msn";
string o = "opera";
if (textBox1.Text == "m") ;
{
Process.Start("C:\\Program Files\\MSN Messenger\\msnmsgr.exe");
}
if (textBox1.Text == "o") ;
{
Process.Start("C:\\Program Files\\Opera\\Opera.exe");
}evet yardımlarınızı bekliyorum arkadaşlar :)
-
böyle bir durumda swicth kullanman daha mantıklı olucaktır....if döngüsündeki hatanda şu
if(kondisyon)
{
kodlar....
}
else if(kodisyon)
{
kodlar....
}
else
{
}şeklinde olması daha dogru olucaktır
-
Fonksiyonu sonlandırmamışsın "}" koyman gerek.
"if (textBox1.Text == "m") ;"
if yapısının olduğu satıra ";" koyulmaz.
m'i değişken olarak tanımlamışsın.Fakat karşılaştırmayı hatalı yapmışsın. m orada değişken değil sabit string değer oluyor.
Tek satırlık durumlarda if'de başlangıç bitiş kullanmana gerek yok
private void but10_Click(object sender, EventArgs e)
{
string m = "msn";
string o = "opera";
if (textBox1.Text == m)
Process.Start("C:\\Program Files\\MSN Messenger\\msnmsgr.exe");
if (textBox1.Text == o)
Process.Start("C:\\Program Files\\Opera\\Opera.exe");
} -
örnek kodları else if ' le yapınca
Invalid expression term 'else' hatası alıyorum
if (textBox1.Text == "m") ;
{
Process.Start("C:\\Program Files\\MSN Messenger\\msnmsgr.exe");
}
else if(textBox1.Text == "o") ;
{
Process.Start("C:\\Program Files\\Opera\\Opera.exe");
}
dediğin gibi switch daha mantıklı görünüyor onu deneyim bari..teşekür ederim
-
FireX bunu yazdı:
-----------------------------
Fonksiyonu sonlandırmamışsın "}" koyman gerek.
"if (textBox1.Text == "m") ;"
if yapısının olduğu satıra ";" koyulmaz.
m'i değişken olarak tanımlamışsın.Fakat karşılaştırmayı hatalı yapmışsın. m orada değişken değil sabit string değer oluyor.
Tek satırlık durumlarda if'de başlangıç bitiş kullanmana gerek yok
private void but10_Click(object sender, EventArgs e)
{
string m = "msn";
string o = "opera";
if (textBox1.Text == m)
Process.Start("C:\\Program Files\\MSN Messenger\\msnmsgr.exe");
if (textBox1.Text == o)
Process.Start("C:\\Program Files\\Opera\\Opera.exe");
}
-----------------------------saolasın işe yaradı :D... m ve o yu orda sabit tanımlamama gerek yokmuş zaten sanırım..tanımlama yapmadan direk
if (textBox1.Text == "msn")
Process.Start("C:\\Program Files\\MSN Messenger\\msnmsgr.exe");olarak yapması daha pratik..teşekkür ederim
-
bence C# ogrniyosan windows uygulamalarindan once kodlardan baslamalisin
-
hoca bunlar windows uygulamaları ondan önce bi console bak derim
ayrıca nesneye yönelik programlama dili öğrenmeden önce nesneyi ve nesne yapmayı öğren de derim :D
