در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
اما این تمام ماجرا نیست، اگر شما از آن دسته برنامهنویسان هستید که با VB.NET کار میکنید و قصد کوچکردن به سمت #C را دارید، بهتر است تا پایان مقاله با ما همراه باشید. در این شماره تفاوتهای گرامری این دو زبان را مورد بررسی قرار میدهیم.
قبل از هر چیز به یاد داشتهباشید تمام کلمات کلیدی در VB.NET با حروف بزرگ نوشته میشود مثل Public, Private و … اگر در طول مقاله با عبارتی به همان شکل که در#C است مواجه شدید، بدانید مثل #C نوشته میشود ولی با حروف بزرگ شروع میشود.
۱ ـ سطح دسترسیها : منظور از سطح دسترسی این است که یک شیء یا کلاس در کجا قابل استفاده است؛ مثلا در همان کلاس یا در کلاسهای به ارث رسیده یا اینکه یک فضای نام توسط چه فضاهای نامی مورد استفاده قرار میگیرد.
کلمات کلیدی public، private، protected در هر دو زبان یکسان است، اما internal در VB.NET با Friend نشان داده میشود.
۲ ـ انواع داده اصلی: در هر دو زبان به یک گونه است، اما برای تاریخ که در #C با DateTime مشخص میشود در VB.NET به صورت Date معرفی میشود و مقدار بولی که در#C با bool مشخص میشود ولی در VB.NET با Boolean مشخص میشود و int به صورت Integer و float با Single معرفی میشود، در برای معرفی کردن یک متغیر از یک نوع ابتدا نوع آن را مینویسند، سپس نام متغیر؛ اما در VB.NET ابتدا Dim سپس اسم متغیر و بعد از آن As و نوع متغیر.
Dim x As Integer
۳ ـ بلاکهای کد:
منظور از بلاکهای همان Scopeهاست. در#C با علامتهای {} مشخص میشود، اما در VB.NET در انتهای آن بلاک یک End میگذارند. بگذارید با چند مثال این موضوع را نشان دهیم.ساختار شرطی If
If … Else If … End Else … Else… End
که در #C برای نشان دادن ساختار If از if/else استفاده میشود.
ساختار انتخابی یا همان switch :
Select Case … Case … Case Else End Select
در #C به صورت زیر است:
switch … case break … default break
ساختار حلقه for :
For … To … End For
در#C به صورت همان for است، برای مثال:
for(int i= 0; i«10; i++)
ساختار foreach (همان حلقه for بدون اندیس)
Foreach … In … Next
در #C به صورت:
foreach(int i in array)
۴ ـ حلقه های تکرار شرطی (whileو do-while):
در #C به صورت while و do … while نوشته میشود، اما در Vb.NET به این شکل:While … End While
Do While «condition» … Loop While or Do … Loop While «condition»
علاوه اینها شما میتوانید از Until بجای While هم استفاده کنید.
۵ ـ معرفی توابع: توابع void (هیچ مقداری برنمیگردانند) در#C جای مقدار برگشتی از void استفاده میشود و در VB.NET از کلمه کلید Sub.
توابع با مقدار بازگشتی در C# قبل از نام تابع نوع مقدار بازگشتی مشخص میشود، اما در VB.NET به صورت زیر است:
Function Test() As Integer
End Function
بعد از معرفی تابع با استفاده از As نوع خروجی تابع را مشخص میکنیم.
۶ ـ کامنتگذاری: استفاده از کامنتها برای مشخص کردن کاری که یک قطعه کد انجام میدهد کاملا مرسوم است. در C# شما میتوانید با // یک خط را کامنت کنید یا کامنت بگذارید و برای کامنتهای چند خطی از /* */ استفاده کنید. در بین این دو هر چیزی بنویسید جزو کامنت محسوب خواهد شد. در VB.NET کامنت را با ' نشان میدهند که متاسفانه امکان کامنتهای چند خطی در VB.NET وجود ندارد.
بعضی از کلمات کلیدی دیگر را به صورت خلاصهوار در زیر آوردهایم:
C# : this – VB.NET : Me
C# : delegate – VB.NET : Address Of
C# : null – VB.NET : Nothing
C# : abstract – VB.NET : MustInherit
C# : sealed – VB.NET : NotInheritable
ارث بری و استفاده از اینترفیسها، C2 اینترفیس و C3 یک کلاس است.
C# : class C1 : C2, C3 – VB.NET : C1 Implement C2 Inherits C3
در این شماره سعی شد موارد اصلی و پر کاربرد آورده شود؛ اما برای اطلاعات بیشتر میتوانید به لینک زیر مراجعه کنید:
http://www.codeproject.com/Articles/9978/Complete-Comparison-for-VB-NET-and-C
امیربهاءالدین سبطالشیخ
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: