عملگرها ( Operators )
استفاده از متغيرها در يک زبان برنامه نويسی زمانی مفيد خواهد بود که بتوان بر روی آنان عملياتی را انجام داد . به منظور انجام عمليات بر روی متغيرها ، نيازمند استفاده از "عملگرها" می باشيم . "عملگر" ، علامتی است که مسئوليت انجام يک عمليات از قبل تعريف شده را بر روی "اپراندهای " خود و توليد نتيجه مورد نظر ، برعهده دارد . اگر 1+2 = X باشد ، "X " يک متغير ، "=" يک عملگر و مقادير يک و دو ، اپراندهای آن می باشند .
عملگر نسبت دهی
عملگر "=" ، متداولترين و شناخته ترين عملگر استفاده شده در دنيای برنامه نويسی است.از عملگر فوق به منظور نسبت دادن مقدار به يک متغير استفاده می گردد. ( متغير در سمت چپ و مقدار متغير در سمت راست عملگر "=" ،قرار می گيرد) .
Dim intNumber1 As Integer
intNumber1 = 7447
|
VB.NET هيچگونه تاکيد و يا اجباری در خصوص تعداد فضای خالی ( Space ) استفاده شده در دو طرف علامت "=" ندارد.برنامه نويسان به منظور افزايش خوانائی برنامه ، می توانند به تعداد مورد نظر از فضای خالی استفاده نمايند .
Dim intNumber As Integer
intNumber = 3
|
عمليات رياضی
در VB.NET ارزيابی يک عبارت از سمت راست به چپ ، انجام می شود. مثلا" در عبارت intNumber1 = intNumber1 + 1 ، در ابتدا مقدار intNumber1 + 1 ، محاسبه شده و در ادامه مقدار بدست آمده در متغير intNumber1 ، ذخيره می گردد . علامت "=" ، وظيفه يک عملگر نسبت دهی را برعهده داشته و پس از محاسبه مقدار مورد نظر آن را به متغير intNumber1 نسبت می دهد .
Dim intNumber 1 As Integer
intNumber1= 2
intNumber1 = intNumber1 + 1
|
عملگرهای محاسباتی
در VB.NET از عملگرهای محاسباتی زير استفاده می شود :
کاربرد
|
عملگر
|
جمع
|
+
|
تفريق
|
-
|
ضرب |
*
|
تقسيم |
/
|
توان
|
^
|
منفی |
-
|
باقيمانده |
MOD
|
مثال : در برنامه زير ، دو متغير به اسامی intNumber1 و intNumber2 تعريف و پس از انتساب مقدار مورد نظر به هر يک از آنان ، مقادير دو متغير با يکديگر جمع و حاصل در متغيری ديگر و با نام intNumber3 ، ذخيره می گردد .
Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intNumber3 As Integer
intNumber1 = 14
intNumber2 = 12
intNumber3 = intNumber1 + intNumber2
|
به منظور مشخص نمودن اولويت انجام محاسبات در يک عبارت ، می توان از پرانتر استفاده نمود . مثلا" در کد زير ، در ابتدا مقدار موجود در متغير intNumber2 بر عدد شش تقسيم و در ادامه مقدار به دست آمده به متغير intNumber1 اضافه شده و در نهايت ، نتيجه بدست آمده در متغيری با نام intNumber3 ذخيره می گردد( استفاده از پرانتز در يک عبارت ، باعث افزايش خوانائی برنامه نيز می گردد ) .
Dim intNumber1 As Integer
Dim intNumber2 As Integer
Dim intNumber3 As Integer
intNumber1= 14
intNumber2 = 12
intNumber3 = intNumber1 + (intNumber2 /6 )
|
مثال : در برنامه زيراز يک رابطه ساده رياضی به منظور محاسبه ميزان ماليات ، استفاده شده است .
dir="rtl">
استفاده از عملگرها در يک عبارت رياضی
ميزان دستمزد : <Br>
ماليات : 2" runat="server" /><Br>
مبلغ پرداختی پس از کسر ماليات : 3" runat="server" />
|
پس از ذخيره برنامه فوق در فايلی با نام TestTax.aspx و مشاهده آن در مرورگر ، خروجی زير را خواهيم داشت :
توضيحات : در برنامه فوق ، از سه متغير به اسامی intEarn (به منظور ذخيره ميزان دستمزد) ، intTax ( به منظور ذخيره نرخ محاسبه ماليات ) و decTotal ( به منظور ذخيره مبلغ خالص پرداختی ) ، استفاده شده است .
Dim intEarn As Integer
Dim intTax As Integer
Dim decTotal As Decimal
|
در ادامه ، مقادير مورد نظر به متغيرهای intEarn ( مقدار 150 ) و intTax ( مقدار 10 ) ، نسبت داده شده است .
intEarn = 150
intTax = 10
|
به منظور محاسبه مبلغ قابل پرداخت ، در ابتدا ميزان ماليات با توجه به نرخ مشخص شده ( 10 درصد) ، محاسبه و پس از کسر مبلغ فوق از ميزان دستمزد ، حاصل در متغير decTotal ، ذخيره می گردد. از پرانتر به منظور مشخص نمودن اولويت محاسبات ، استفاده شده است .
decTotal = intEarn - ( ( intEarn / 100 ) * intTax )
|
در نهايت ، مقادير decTotal ، intEarn و ميزان ماليات محاسبه شده به خصلت text هر يک از کنترل های label1,label2 و label3 نسبت داده شده است ( Display1 ، Display2 و Display3 ) .
Display1.Text = intEarn
Display2.Text = ( intEarn / 100 ) * intTax
Display3.Text = decTotal
|
عمليات بر روی رشته ها
با استفاده از عملگر "+" می توان دو متغير از نوع integer را با يکديگر جمع نمود . در صورتی که دارای دو متغير از نوع string باشيم و بخواهيم دو رشته فوق را با يکديگر ترکيب نمائيم از فرآيندی با نام Concatenation ، استفاده می شود . در دات نت به منظور اتصال رشته ها و الحاق آنان به يکديگر از دو روش مختلف استفاده می گردد : .
-
روش اول : در اين روش ، رشته دوم به انتهای رشته دوم اضافه شده و رشته ای جديد ايجاد می گردد . بدين منظور از عملگر "&" ( ampersand ) ، استفاده می شود .
Dim strTest As String
strTest = " Test " & "VB.NET"
|
ماحصل ترکيب دو رشته فوق ، TestVB.NET بوده که به متغير strTest نسبت داده می شود. در VB.NET به صورت اتوماتيک از فضای خالی ( Space ) استفاده نمی گردد و در صورت لزوم می توان به ميزان دلخواه فضای خالی را به عنوان يک رشته استفاده و آن را با ساير متغيرها ، ترکيب نمود . در مثال زير سه رشته که يکی از آنان Space ( که خود نيز يک رشته است ) ، می باشد با يکديگر ترکيب شده اند.
Dim strTest As String
strTest = " Test " & " " & "VB.NET"
|
ماحصل ترکيب سه رشته فوق ، Test VB.NET بوده که به متغير strTest نسبت داده می شود .
Dim strTest As String
Dim strFirst As String
strFirst ="TestString "
strTest += strFirst
strTest += strFirst
strTest += strFirst
|
مقايسه رشته ها
از عملگرهای مقايسه ای به منظور مقايسه محتويات دو متغير و انجام عمليات مورد نظر با توجه به نتايج بدست آمده ، استفاده می شود . در مواردی که متغيرها از نوع String می باشند ، امکان مقايسه و مرتب نمودن متن با توجه به اولويت هر يک از حروف الفبائی ، فراهم می گردد. جدول زير ، عملگرهای مقايسه ای را نشان می دهد .
کاربرد
|
عملگر
|
مساوی
|
=
|
کوچکتر
|
>
|
کوچکتر يا مساوی |
=>
|
نامساوی |
<>
|
بزرگتر
|
<
|
بزرگتر يا مساوی |
=<
|
در مثال زير دو متغير از نوع String و به اسامی strName1 و strName2 تعريف و پس از نسبت دادن مقدار دلخواه به هر يک از آنان ، از عملگرهای مقايسه ای به منظور مقايسه و انجام عمليات مورد نظر استفاده شده است .
Dim strName1 As String
Dim strName2 As String
strName1="Test1"
strName1="HHH"
If strName1 < strName2 Then Display1.Text = " Test1"
If strName2 < strName1 Then Display1.Text = " HHH"
|
ثوابت
ثوابت ، به منزله متغيرهائی می باشند که مقدار نسبت داده شده به آنان در زمان اجرای برنامه تغيير نمی نمايد. "نرخ محاسبه ميزان ماليات " ، نمونه ای در اين زمينه بوده که مقدار آن به ندرت تغيير می نمايد. در زمان فروش يک کالا و به منظور محاسبه ميزان ماليات مربوطه ، ممکن است به دفعات به آن مراجعه گردد . حتی اگر نرخ محاسبه ماليات تغيير يابد ، شما صرفا" مجبور به اعمال تغييرات در يک مکان ، خواهيد بود. استفاده از "ثوابت " ، خوانائی يک برنامه را افزايش و باعث تسهيل در امر نگهداری يک برنامه می گردد .
اکثر زبان های برنامه نويسی روش خاصی را به منظور تعريف "ثوابت " ، در اختيار برنامه نويسان قرار می دهند . در VB.NET به منظور تعريف يک ثابت از کليد واژه Const استفاده می گردد ( معمولا" اسامی ثوابت ، به صورت "حروف بزرگ " ، در نظر گرفته می شوند ).
پس از تعريف يک ثابت ، در صورتی که در ادامه برنامه قصد تغيير مقدار نسبت داده شده به آن را داشته باشيم ، با يک پيام خطاء مواجه خواهيم شد .
نوع های داده ساختيافته
نوع های ساده ، صرفا" قادر به ذخيره سازی يک آيتم اطلاعاتی می باشند . در صورتی که قصد ذخيره چندين آيتم اطلاعاتی مرتبط به هم در يک برنامه را داشته باشيم ، می بايست از "نوع های داده ساختيافته " ، استفاده گردد. VB.NET دارای امکانات متعددی به منظور ذخيره نمودن اينگونه اطلاعات است ( از اشياء ديکشنری تا جدول hash و XML ) . در ادامه با "آرايه ها" که ساده ترين نوع در اين زمينه می باشند ، آشنا می شويم .
آرايه ( Array )
از آرايه ها به منظور ذخيره سازی مجموعه ای از اقلام اطلاعاتی مرتبط به هم در متغيرهائی که همگی دارای يک نام بوده و توسط يک ايندکس عددی اضافه شده به انتهای آنان شناسائی می گردند، استفاده می شود. دستورات زير نحوه تعريف يک آرايه و نسبت دهی مقدار به هر يک از عناصر آن را نشان می دهد .
Dim StrName ( 5 ) As String
StrName(0) = "AAA"
StrName(1) = "BBB"
StrName(2) = "CCC"
StrName(3) = "DDD"
StrName(4) = "EEE"
StrName(5) = "FFF"
|
اولين ايندکس يک آرايه، صفر در نظر گرفته می شود ( Zero based ) . در مثال فوق ، شش عنصر و به ترتيب در مکان های صفر تا پنج آرايه ، ذخيره می گردند .
تعريف يک آرايه
آرايه ها نظير متغيرها می بايست با استفاده از کليد واژه Dim تعريف گردند . تعريف يک آرايه مستلزم تعريف يک پارامتر اضافی ديگر به منظور مشخص نمودن اندازه آن است . دستور زير يک آرايه با اندازه پنجاه و از نوع String را تعريف می نمايد . تمامی المان های آرايه می بايست از نوع String باشند .
Dim Strarray1 (49) As String
|
آرايه های چند بعدی
در مواردی که اطلاعات دارای ماهيتی دوبعدی و مرتبط به هم می باشند ، می توان از يک آرايه دوبعدی به منظور ذخيره آنان استفاده نمود . مثلا" در صورتی که قصد ذخيره مجموعه ای از اطلاعات مرتبط به هم نظير نام و نام خانوادگی را داشته باشيم ، می توان از يک آرايه دوبعدی استفاده نمود. به منظور تعريف يک آرايه دو بعدی می بايست يک پارامتر ديگر را در زمان تعريف آرايه نيز مشخص نمائيم . دستورات زير نحوه تعريف و مقداردهی يک آرايه دو بعدی 4 * 4 از نوع string را نشان می دهد ( امکان ذخيره حداکثر شانزده عنصر در اين آرايه وجود خواهد داشت ) .
Dim strArray1 (3,3) As String
...
strArray (0,0) = "AAA"
strArray (0,1) = "BBB"
...
|
در VB.NET امکان تعريف يک آرايه حداکثر شصت بعدی وجود خواهد داشت . استفاده از آرايه های بيش از سه بعد توصيه نشده و در صورت نياز می توان از ساير راهکاری موجود نظير بانک های اطلاعاتی ، استفاده نمود .
خلاصه
در مجموعه مقالاتی که با عنوان " نحوه ذخيره سازی اطلاعات در VB.NET " ، ارائه گرديد با موارد زير آشنا شديم :
- جايگاه استفاده از متغيرها در يک برنامه
- نحوه تعريف متغير در VB.NET و استفاده از آنان در صفحات ASP.NET
- بررسی انواع نوع های داده ساده
- نحوه انجام عمليات بر روی متغيرها و انجام برخی محاسبات ساده با استفاده از عملگرهای محاسباتی و مقايسه ای
- بررسی نوع های داده ساختيافته و نحوه استفاده از يک آرايه در برنامه