-
جمعه 28 اردیبهشت 1386, 16:09 عصر
#8
کاربر دائمی
خب، مقایسه بین سی# و بیسیک.نت در زیر نوشتم برای آشنائی با تفاوتها...
مواردی از بیسیک.نت که در سی# نیست :
+ پارامترهای اختیاری - Optional Parameters
+ صدا زدن متد مجازی بصورت غیر مجازی - کلمه کلیدی MyClass
+ استفاده از کلمه کلیدی With...End With برای جلوگیری از کد نویسی تکراری
+ تغییر طول یک آرایه - کلمه کلیدی Redim
+ هر برنامه نویس، نحوه کامپایل کدش را میتواند به دلخواه تنظیم نماید.
+ استفاده از کلمه کلیدی When در کنترل Catch های یک استثنا
+ وجود کلمه Is در ساختار Select Case...End Select
+ در بیسیک.نت، پیاده سازی متد از یک اینترفیس، با نامی متفاوت برای آن امکان پذیر است در حالی که سی# چنین اجازه ای نخواهد داد!
+ تعریف متغیر از نوع استاتیک در بدنه یک متد
مواردی از سی# که در بیسیک.نت نیست :
+ استفاده از Unsafe Mode برای : استفاده از اشاره گرها ( Pointers ) ، جلوگیری کردن از GC برای انتقال یک متغیر در حافظه heap ( کلمه کلیدی fixed ) ، گرفتن اندازه یک داده ی از نوع مقداری ( کلمه کلیدی sizeof ) و اختصاص دادن فضا از حافظه stack به اشاره گری که به یک نوع مشخص اشاره دارد ( کلمه کلیدی stackalloc )
+ استفاده از کاراکتر گریز در رشته ها ( مثل سی++ ) - Escape Characters
+ مشخص کردن شیئ که بتواند بصورت نا هماهنگ تغییر پیدا کند - کلمه کلیدی volatile
+ پیاده سازی راحت برای کلاسهای مشتق شده از IEnumerable و انعطاف استفاده از Iterators
+ متدهای بدون نام که میتوانند در داخل یک متد دیگر پیاده سازی شده یا اینکه عضوی از یک کلاس نباشند.
+ Syntax آن دارای انعطاف قابل توجهی است.
+ کامنتهای طولانی را میتوان به سرعت در چند خط نوشت.
+ استفاده از عملگرهای checked و unchecked برای کنترل استثنای سرریز - Overflow exception control
دیگر مقایسه ها :
+ سی# به بزرگی و کوچکی حروف حساس است و بیسیک.نت حساس نیست.
+ سی# کدهای مختصری داره و از نمادها و کلمات خاص تشکیل شده در حالی که در بیسیک.نت کدها عموما به زبان گفتاری نزدیک تر هستند.
+ قاعدتا سی# زبانی است که پایان دستور در آن با ; مشخص میگردد پس میتوان هر دستور را به دلخواه در خطوط متفاوتی نوشت، این کار به کمک استفاده از _ ( یا & و _ برای رشته ها )، تا حدود زیادی در بیسیک.نت امکان پذیر است.
+ سی# برای دات نت فریم ورک نوشته شده و این در حالی هست که بیسیک.نت آماده شده تا بتونه در دات نت کار کنه.
+ در بیسیک.نت استفاده از فضای نام My امکان پذیره، که میشه در سی# هم تا حدود زیادی ازش استفاده کرد.
+ در بیسیک.نت با کمک کلمه کلیدی Handles راحت میشه متدی رو برای یک رویداد مشخص کرد، ولی در سی# باید حتما این متد توسط =+ در لیستی قرار بگیره که توسط رویداد فراخوانی میشوند.
موارد کوچک دیگری هم هست که بد نیست عنوان بشه، میتونه خیلی بیشتر از موارد زیر باشه :
+ در سی# از عملگرهای انتسابی بیتی =& و =^ یا =| میشه استفاده کرد.
+ در سی# از عملگرهای افزایش و کاهش ( ++ و -- ) میشه استفاده کرد و در بیسیک.نت، خودمون باید با =+ و =- کار لازم رو در یک دستور جداگانه ( برخلاف سی# ) انجام بدیم.
+ در سی# استفاده از Nullable Types بصورت آوردن علامت سوال بعد از نوع داده میتواند صورت بگیرد، مثلا ?int ، در بیسیک.نت از کلاس System.Nullable استفاده می شود.
+ در بیسیک.نت از کلمه کلیدی IsDbNull استفاده میشه و در سی# باید خودمون مقدار متغیر رو با مقدار System.DBNull.Value مقایسه کنیم.
+ در بیسیک.نت از عملگر ^ برای به توان رساندن یک عدد استفاده میکنیم، در سی# باید از کلاس Math استفاده کنیم.
و و و ...
آخرین ویرایش به وسیله PC2st : شنبه 29 اردیبهشت 1386 در 22:26 عصر
دلیل: ویرایش شد... اشتباه وجود داشت.
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت