خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


عملگر AndAlso در ویژوال بیسیک دات نت

عملگر AndAlso در ویژوال بیسیک دات نت
نویسنده : امیر انصاری
عمگر AndAlso پیوستگی منطقی بین دو عبارت را کوتاه می کند که اصطلاحا به آن short-circuiting می گویند. مفهوه کوتاه کردن (short-circuiting) به این معنا است که وقتی این کد کامپایل شد، کد کامپایل شده می تواند بر مبنای نتایج یک عبارت از بررسی سایر عبارت ها صرفنظر کند و در واقع آنها را دور بزند.

نرم افزار سامانه مودیان راهکار



نحوه نگارش (Syntax) عملگر AndAlso


result = expression1 AndAlso expression2

تشریح قسمتهای مختلف عملگر AndAlso


  • result : نتیجه مقایسه بین دو عبارت را بصورت Boolean در خود دارد.
  • expression1 : هر عبارتی از نوع Boolean می تواند باشد.
  • expression2 : هر عبارتی از نوع Boolean می تواند باشد.

توضیحات عملگر AndAlso


اگر یعد از ارزیابی نتیجه عبارت اول، مقدار نهایی result تعیین شود، نیازی به ارزیابی عبارت دوم نمی باشد، زیر مقدار آن هر چه باشد دیگر نمی تواند نتیجه نهایی result را تغییر بدهد. این کوتاه کردن (Short-circuiting) تاثیر بسزایی در کارآیی برنامه دارد، زیرا ممکن است عبارت دوم شما خودش فراخوانی یک رویه (procedure) باشد که منابع سیستم را مصرف می کند.

اگر هر دو عبارت True باشند، result نیز True می باشد. جدول زیر نحوه مشخص شدن result در حالتهای مختلف را به شما نشان می دهد.

عملگر AndAlso در ویژوال بیسیک دات نت

انواع داده ها (Data Types) در عملگر AndAlso


عملگر AndAlso فقط محدود به نوع داده Boolean می باشد. اگر عبارت های شما از نوع Boolean نباشند، ویژوال بیسیک آنها را به نوع Boolean تبدیل (convert) می کند. این مساله اگر به آن اشراف نداشته باشید ممکن است نتایج غیر منتظره ای را برای شما تولید کند، بعنوان مثال (وقتی که نتیجه را به Integer تبدیل کنید.) :

5 AndAlso 12 = –1


مثال از نحوه استفاده از عملگر AndAlso


در مثال زیر از عملگر AndAlso برای اجرای یک پیوستگی منطقی بین دو عبارت استفاده شده است. نتیجه از نوع Boolean می باشد که بررسی کند ،آیا کل عبارت برابر با true می باشد یا نه. اگر عبارت اول False باشد، عبارت دوم ارزیابی نخواهد شد.

عملگر AndAlso در ویژوال بیسیک دات نت
نتایج این مثال بترتیب True و False و False می باشد. در هنگام محاسبه مقدار secondCheck ، عبارت دوم ارزیابی نخواهد شد، چون عبارت اول در حال حاضر False می باشد. در مورد thirdCheck عبارت دوم هم ارزیابی خواهد شد.

متن زیر قابل کپی کردن می باشد.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b AndAlso b > c
secondCheck = b > a AndAlso b > c
thirdCheck = a > b AndAlso c > b

مثال از نحوه استفاده از عملگر AndAlso


مثال زیر یک رویه Function را نشان میدهد که یک مقدار را داخل یک آرایه مورد جستجو قرار می دهد. اگر آرایه خالی باشد، و یا اینکه تعداد اعضاء آرایه بیش از حد باشد، دستور While دیگر عملیاتش را انجام نخواهد داد.

عملگر AndAlso در ویژوال بیسیک دات نت
متن زیر قابل کپی کردن می باشد.

Public Function findValue(ByVal arr() As Double,
ByVal searchValue As Double) As Double
Dim i As Integer = 0
While i <= UBound(arr) AndAlso arr(i) <> searchValue
' If i is greater than UBound(arr), searchValue is not checked.
i += 1
End While
If i > UBound(arr) Then i = -1
Return i
End Function


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز