با سلام،
اضافه کردن مرجع Microsoft.VisualBasic به پروژه ی سی شارپی الزامی نیست. مگر این که شما بخواهید از توابع و کلاس زیر مجموعه ی این مرجع استفاده بفرمایید؛ مانند استفاده از کلاس Interaction. به عبارتی این مرجع به معنی استفاده از ویژوال بیسیک در سی شارپ نیست بلکه به معنی استفاده از دستوراتی هستش که مشابه Visual Basic Runtime پیاده سازی شده اند.
دستور Interaction.InputBox دارای چندین override هستش. وقتی شما عبارت "" رو حذف کنید، یعنی هیچ آرگومانی به دستور InputBox ندادید. هیچ کدوم از این override ها حالتی رو پشتیبانی نمی کنن که شما آرگومان ورودی رو خالی بذارید. این در سی شارپ یعنی خطا.
در مورد سوال آخر؛ بستگی به این داره که اصولی رو چی تعریف کنیم. از دیدگاه خوانایی کد بهتره مرجع با using مورد استفاده قرار بگیره (حالت اول). این طوری طول دستورات کم تر میشه و توسعه دهندگان بهتر می تونن کد رو درک کنن. از طرفی امروزه کامپایلر ها خیلی هوشمند شدند. خودم امتحان نکردم ولی به احتمال زیاد چه در حالت اول و چه در حالت دوم، کامپایلر خروجی EXE یکسانی بده. فقط در مواردی نظیر طراحی Framework یا تعریف کلاس های partial به دلیل جلوگیری از Ambiguous Reference شاید از using استفاده نکنن.






پاسخ با نقل قول
Bookmarks