سوال در مورد bool و int در سی شارپ

بازدید9.9kپست ها1آخرین فعالیت10 سال پیش
0
0

سلام
میخواستم بدونم کار bool چیه و اصلا به چه دردی میخوره ؟ چرا فقط true و false میشه ؟ چه فرقی بین کدهاش هست ؟

این کد یعنی چی ؟ دقیقا چیکار میکنه ؟ =>

[CSHARP]
bool bool1;
int int1;

        if (bool1)
        {
            int1 += ((System.Windows.Forms.Timer)(sender)).Interval / 1000;
            if (int1 > 900)
                bool1 = !bool1;
            else
                return;
        }

[/CSHARP]

مخصوصا این کد به چه معناییه ؟ چرا این شکلیه ؟
[CSHARP]
int1 += ((System.Windows.Forms.Timer)(sender)).Interval / 1000;
[/CSHARP]

ممنون

0

وجود bool خیلی مهمه معمولا برای کنترل کردن بکار میره مثل همین کدی که گذاشتی البته کدش یه مشکل کوچیک داره اونم اینه که به bool1 و int1 مقدار اولیه داده نشده.
مقدار اولیه bool1 باید true باشه تا کد کار کنه
این کد چک میکنه اگر تعداد کدهای داخل تایمر (چون خودش هم باید تو تایمر باشه) 901 بار اجرا شد دیگه اجرا نشه!

اپراتور =+ مقدار جدید رو به مقدار قبلی که در متغیر int1 وجود داره اضافه میکنه

if (bool1)

اگر متغیر bool1 مقدارش true هست...

((System.Windows.Forms.Timer)(sender)).Interval / 1000
این کد هم میاد میلی ثانیه رو به ثانیه تبدیل میکنه => 1000 میلی ثانیه = 1 ثانیه
که interval تایمر باید بر حسب میلی ثانیه وارد بشه.

if (int1 > 900)
bool1 = !bool1;

اینجام میگه اگر 901 ثانیه(901 بار) اجرا شد مقدار رو مخالف خودش قرار بده (مخالف true میشه false دیگه)

! بیانگر not یا مخالف هست

بعد هم که bool1مقدارش false شد کد دیگه اجرا نمیشه چون اولش چک میکنه

ساده تر این کد:

[CSHARP]
bool bool1 = true;
int int1 = 0;
private void timer1_Tick(object sender, EventArgs e)
{
Text = bool1.ToString() + int1.ToString();
if (bool1 == true)
{
int1 = int1 + timer1.Interval / 1000;
if (int1 > 5)
bool1 = false;
else
return;
}
}

    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Interval = 1000;
        timer1.Enabled = true;
    }

[/CSHARP]

این همه سوال کردی توش boolean استفاده شده بود الان میپرسی؟ :73:

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.