2- در مورد متدهای بی نام هم لطفاَ کمی توضیح دهید.
متدهائی که بدون اینکه نامی داشته باشند، در یک شئ delegate قرار میگیرند.

Iterators هم که با یک Collection در VB قابل حل است.
ببخشید، منظورتون رو نفهمیدم که چطور میشه با Collection مشکل رو حل کرد.

کافی است یک متغییر در #C تعریف کنید و مقدار را در آن بریزید و هرکجا نیاز داشتید از آن استفاده کنید، (دقیقاَ With هم در باطن همین کار را میکند)
فکر نمیکنم که with چنین کاری انجام بده، بلکه در هنگام کامپایل، فضای نام مربوطه (یا کلاس مربوطه) رو اضافه میکنه (تا آدرس دهی بشه)، شاید هم شما درست بگی.

بدون شک من که بیشتر وقتم را با Basic صرف نکردم نباید انتضار داشته باشم تمام قابلیت های #C را بشناسم و به همان سرعت و قدرت که در VB کد نویسی میکنم در #C کد نویسی کنم و منطقی نیست تا کاری را نتوانستم در #C انجام دهم
بگویم #C نمیتواند فلان کار را انجام دهد! باید بگویم من تجربه کافی کار با #C را ندارم و نتوانستم فلان کار را به راحتی انجام دهم.
دوست عزیز، منظور این نیست که بیسیک.نت توانائی مقابله با سی# رو نداره. منظور سنتکس بیسیک.نت هست، علاوه بر موارد قبلی که گفته شد، با فرض اینکه یک برنامه نویس تازه کار، بخواد در محیط بیسیک.نت شروع به کد نویسی کنه، ممکنه که خیلی از مفاهیم برنامه نویسی رو نفهمیده باشه، مثلا به قول دوستمون:
نقل قول نوشته شده توسط SalarSoft
برای مثال می تونید از سایر فرم ها های پروژه تان بدون تعریف نمونه استفاده کنید.
پس در واقع برنامه نویسی میکنه و از جزئیاتش چیزی نمیفهمه و میاد در سی# مینویسه:

form1.Show();

کامپایل ارور میده و میگه که کلاس نمونه سازی نشده! (اصلا چنین شئ ائی وجود نداره !)
همونطور که من در سی# عملیات باکسینگ و اینباکسینگ رو بدون نوشتن کد اضافی ( و تنها بصورت casting ) انجام میدم، بیام در سی++ چنین کاری بکنم با error روبرو میشم.

به قول قدیمیها: نه به اون شوری شور (سی++) نه به این بی نمکی (بیسیک.نت) ... البته شوخی کردم، اجهاف نشه... بیسیک.نت خیلی بی نمک نیست، کمی از سی# بی نمک تر است چون در نهایت کد نهائی هر جفتشون IL میباشد. ایراد نگیرید، میدونم، شوری و بی نمکی رو شرایط موجود تعیین میکنند. مثلا اگر هدف نوشتن برنامه های خفن (!) باشه، شوری شور میشه اسمبلی و بی نمک میشه سی++ ( همه این شوری ها و بی نمکی ها از لحاظ سنتکس بود که گفتم )

همچنین در تکمیل گفته هام بگم که بعدا معترض نباشید:
1. با بیسیک.نت میشه برنامه های خوب و کاملی نوشت و نمیشه مخالف این بود.
2. نوشتن برنامه ها با بیسیک.نت هیچ ایرادی نداره، چون در نهایت به کد IL ترجمه میشه.
3. و غیره ( بقیه اش رو خودتون بهتر میدونید ) ...

از لحاظ محیط دات نت و کد تولید شده IL، زیاد فرقی نمیکنه که برنامت رو با بیسیک.نت بنویسی یا سی#، ولی باید مد نظر داشت که برنامه نویس به چه روشی تفکراتش رو پیاده میکنه ( هر زبان یک روش برای پیاده سازی افکار برنامه نویسش داره ) و این روش چه تاثیری بر عملکرد برنامه نویس در طراحی برنامه، میگذاره. این هم قبول دارم که روش پیاده سازی افکار برنامه نویس، در سی# و بیسیک.نت به اندازه تفاوت سی و پاسکال نیست.