در خواست کمک در مورد چند کد به زبان سی شارپ

محمد رضا71

New Member
سلام به همه ، من چند تازگیا شروع به یادگیری سی شارپ کردم و توش به چندتا مشکل برخورد کردم :

1-یه کتاب یا PDF که مبانی سی شارپ رو کامل و مو به مو به زبان فارسی توضیح بده میخوام (کتاب هاشمیان رو دارم 950 صفحه ایه) .

2-چطور میتونم با دستور سویچ یه عدد رو از تکست باکس بگیرم و معادل عدد مشخصاتی رو توی مسیج باکس نمایش بدم؟ مثلا دیدید توی لیست باکس میتونیم تعدادی نام، عدد و ... اضافه کرد بعد روش کلیک کنی و واسه هر کدوم عملیان خاصی انجام بشه؛ من میخوام در مورد تکست باکس هم همین اتفاق بیوفته، مثلا 3 رو بگیره یه پیغام بده یا Reza رو بگیره یه کار دیگه کنه و ...



کد:
        private void btnSwitch_Click(object sender, EventArgs e)
        {
            //این کد نیز کار کد قبل را با با دستور 
            //Switch 
            //میکند
            string strName;
            strName = txt1.Text;
            switch(strName)
             {   
                case "Mohammad":
                    strName = "Mohammad";
                    break;
            
                MessageBox.Show("WoW!! You Vary Claver!!", "WoW");
                break;


3-توی کد زیر چطور میتونم برسی کنم که اعداد ورودی توی هر دوتا تکست باکس کمتر از 20 هستش ؟ الان فقط تکست باکس اول رو برسی میکنه و بقیه کد ها رو اجرا میکنه ..


کد:
        private void btnOK_Click(object sender, EventArgs e)
        {
            int intNumber1;
            int intNumber2;
            int avg;
            intNumber1 = Convert.ToInt32(txt1.Text);
            intNumber1 = int.Parse(txt1.Text);
            intNumber2 = Convert.ToInt32(txt1.Text);
            intNumber2 = int.Parse(txt1.Text);

            if (intNumber2<= 20)
            {
                if (intNumber2 <=20)
                {
                avg = intNumber1 + intNumber2;
                avg /= 2;
                MessageBox.Show("Average is : " + avg, "Average");
                }
            }
            
            else
            {
                MessageBox.Show("Pleas Enter Number Less 20", "Less Number!");
            }
        }

 
آخرین ویرایش:

the_king

مدیرکل انجمن
سلام به همه ، من چند تازگیا شروع به یادگیری سی شارپ کردم و توش به چندتا مشکل برخورد کردم :

2-چطور میتونم با دستور سویچ یه عدد رو از تکست باکس بگیرم و معادل عدد مشخصاتی رو توی مسیج باکس نمایش بدم؟ مثلا دیدید توی لیست باکس میتونیم تعدادی نام، عدد و ... اضافه کرد بعد روش کلیک کنی و واسه هر کدوم عملیان خاصی انجام بشه؛ من میخوام در مورد تکست باکس هم همین اتفاق بیوفته، مثلا 3 رو بگیره یه پیغام بده یا Reza رو بگیره یه کار دیگه کنه و ...
لطفا سوالات متفاوت رو در مبحث های جداگانه مطرح کنید.

Switch برای اینجور موارد چندان مناسب نیست، اما در هر صورت ابتدا رشته داخل TextBox رو به معادل عددی
تبدیل کنید و بعد بر اساس مقدارش رشته ای رو انتخاب کنید :
کد:
        private void button1_Click(object sender, EventArgs e)
        {
            int number = int.Parse(textBox1.Text);
            string text = "";
            switch (number)
            {
                case 0:
                case 1:
                case 2:
                case 3:
                case 4:
                    text = "Very Low";
                    break;
                case 5:
                case 6:
                case 7:
                case 8:
                case 9:
                    text = "Low";
                    break;
                case 10:
                case 11:
                case 12:
                case 13:
                case 14:
                    text = "Medium";
                    break;
                case 15:
                case 16:
                case 17:
                case 18:
                case 19:
                    text = "High";
                    break;
                case 20:
                    text = "Perfect";
                    break;
            }
            MessageBox.Show(text);
        }

بهتره که از ساختار if متوالی استفاده کنید :
کد:
        private void button1_Click(object sender, EventArgs e)
        {
            int number = int.Parse(textBox1.Text);
            string text = "";
            if (number < 5)
            {
                text = "Very Low";
            }
            else if (number < 10)
            {
                text = "Low";
            }
            else if (number < 15)
            {
                text = "Medium";
            }
            else if (number < 20)
            {
                text = "High";
            }
            else if (number == 20)
            {
                text = "Perfect";
            }
            MessageBox.Show(text);
        }

یا از آرایه استفاده کنید :
کد:
        private void button1_Click(object sender, EventArgs e)
        {
            int number = int.Parse(textBox1.Text);
            string[] texts = new string[]
            {
                "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",
                "Low", "Low", "Low", "Low", "Low",
                "Medium", "Medium", "Medium", "Medium", "Medium",
                "High", "High", "High", "High", "High",
                "Perfect"
            };
            MessageBox.Show(texts[number]);
        }

3-توی کد زیر چطور میتونم برسی کنم که اعداد ورودی توی هر دوتا تکست باکس کمتر از 20 هستش ؟ الان فقط تکست باکس اول رو برسی میکنه و بقیه کد ها رو اجرا میکنه ..

با عملگر && دو شرط رو با هم ترکیب کنید که فقط زمانی که هر دو برقرار بودن محاسبه انجام بشه :
کد:
        private void btnOK_Click(object sender, EventArgs e)
        {
            int intNumber1 = int.Parse(txt1.Text);
            int intNumber2 = int.Parse(txt2.Text);
            int avg;
            if ((intNumber1 <= 20) && (intNumber2 <= 20))
            {
                avg = (intNumber1 + intNumber2) / 2;
                MessageBox.Show("Average is : " + avg.ToString(), "Average");
            }
            else
            {
                MessageBox.Show("Pleas Enter Number Less 20", "Less Number!");
            }
        }
 

جدیدترین ارسال ها

بالا