پرسش و پاسخ سی شارپ: قسمت 1

به این سری جدید پرسش و پاسخ سی شارپ خوش آمدید.
این یک سری 3 قسمتی است و این قسمت 1 است، از این به بعد، من سؤالات زیادی را پوشش خواهم داد که قرار است در یک مجموعه طولانی 3 پست توزیع شود، این مجموعه 30 سؤال را پوشش می دهد، برخی از آنها با مثال های کدنویسی همراه خواهد بود. ، همه چیز برای مبتدیان دوستانه خواهد بود و من تمام تلاش خود را می کنم تا هر گونه مفاهیم گیج کننده را در صورت برخورد با آنها ساده تر کنم.
خوب، ممکن است یک سوال بپرسید که چرا این یک سری 3 قسمتی است که فقط 30 سوال را پوشش می دهد، خوب، پاسخ ساده این است که برای شما طاقت فرسا خواهد بود زیرا مقاله بسیار طولانی خواهد بود و همچنین زمان زیادی را می گیرد. نوشتن.
بنابراین، بدون هیچ مقدمه ای، بیایید شروع کنیم قسمت 1
1: a چیست کلاس ?
یک کلاس یک ساختار تعریف کننده یا یک الگو برای ایجاد یک شی است، شامل ویژگی ها، فیلدهای داده، نمایه سازها و متدها است.
ما می توانیم نمونه های زیادی از یک کلاس ایجاد کنیم.
2: a چیست فضای نام و آیا اجباری است؟
فضای نام اساساً راهی برای جمعبندی/سازماندهی کلاسهای یک گروه یا عملکرد نسبی با همان نام است که به شما بستگی دارد که مشخص کنید، با وارد کردن یک فضای نام به فایل کد خود، میتوانید به همه عملکردهای گروهبندی شده دسترسی داشته باشید. آن فضای نام، من دوست دارم فضای نام را به عنوان یک جعبه ابزار در نظر بگیرم، وقتی آن جعبه را می آورید و آن را باز می کنید، می توانید شروع به استفاده از ابزارهای داخل آن کنید و آنها را وارد کار کنید.
یکی از فضای نامی که همه ما استفاده می کنیم، فضای نام است System
فضای نام، با انجام موارد زیر:
using System;
با افزودن این خط به کد خود، میتوانیم از مواردی مانند the استفاده کنیم کلاس استاتیک کنسول و مانند آن
فضای نام هستند اجباری ? خیر
اما این یک است بهترین تمرین بنابراین در نهایت کد قابل نگهداری بیشتری را به عنوان یک نتیجه دریافت خواهید کرد.
3: چیه انواع ارزش & انواع مرجع ?
نوع ارزش: حاوی مقدار مستقیم است، یک مثال می تواند این باشد:
int i = 10;
نوع مرجع: حاوی یک مرجع به یک آدرس حافظه است که مقدار در آن ذخیره می شود، یک مثال می تواند a رشته مانند موارد زیر:
string message = "Hello , DevCommunity !";
این پیام متغیر مستقیماً حاوی مقدار داده شده به آن نیست، بلکه حاوی مرجعی برای آدرس حافظه است که پیام در آن ذخیره می شود.
4: چیست؟ اظهار نظر تغییرات در سی شارپ؟
1: نظرات تک خطی //A single line comment
2: نظرات چند خطی /*A multi line comment */
\
3: نظرات XML ///<summary>
5: کد سی شارپ است اداره می شود ?
بله، کد سی شارپ به دلیل Common Language Runtime یا مدیریت می شود CLR به طور خلاصه، کد را به زبان Microsoft Intermediate یا MSIL.
کد مدیریت شده: کد مدیریت شده اساساً کدی است که اجرای آن توسط یک زمان اجرا مدیریت می شود.
6: چیست؟ رابط ?
یک رابط، مانند یک کلاس، میتواند حاوی ویژگیها، فهرستکنندهها و متدها باشد، اگرچه، بر خلاف یک کلاس، رابطها فقط شامل اعلان اعضا هستند و نه اجرای مشخص، یک رابط ممکن است به عنوان یک قرارداد نیز نامیده شود، آن را فقط شامل میشود. اعلانها و پیادهسازی اعضا به کلاسهایی واگذار میشود که آن رابط را پیادهسازی میکنند.
7: چگونه پیاده سازی یک رابط ?
خوب، پیادهسازی یک اینترفیس مشابه به ارث بردن یک کلاس است، یک قطعه مثال خیالی میتواند برای اهداف نمایشی استفاده شود به این صورت است:
public interace IService
{
public void SayHi();
}
public class Greeter : IService
{
public void SayHi()
{
Console.WriteLine("Hi There !");
}
}
نکته سریع: این یک قرارداد است که هنگام نامگذاری رابط ها قبل از نام رابط با یک من ، هیچ ربطی به خطا یا هر چیز دیگری ندارد، اما فقط یک قرارداد است که باید رعایت کنید، بنابراین همیشه رابط های خود را به همین شکل نام گذاری کنید.
8: چیست؟ مجازی کلمه کلیدی مورد استفاده برای
هنگامی که یک عضو به عنوان علامت گذاری می شود مجازی ، باید در کلاسی که در آن تعریف شده است پیاده سازی شود، ولی ، پس از آن می تواند باشد لغو شد توسط کلاس هایی که آن کلاس را که عضو مجازی در آن زندگی می کند به ارث می برند.
9: چیه اضافه بار روش ?
این امکان وجود دارد که متدهایی با نام یکسان در یک کلاس داشته باشند، اگرچه نباید در امضای آنها مطابقت داشته باشند، اما امضای روش؟
امضای متد نام متد و مجموعه پارامترهایی است که می پذیرد.
نمونه ای از بارگذاری بیش از حد روش است WriteLine روشی که متعلق به کنسول کلاس static، این روش دارای 18 بار اضافه بار است، همه آنها در مجموعه پارامترها متفاوت هستند.
بیایید ببینیم چگونه می توانیم به اضافه بار متد دست یابیم:
public void SayHi()
{
Console.WriteLine("Hi");
}
public void SayHi(string name)
{
Console.WriteLine($"Hi {name}");
}
همان نام + مجموعه پارامترهای مختلف = امضای متفاوت.
مثل اون
سوال پایانی
10: الف چیست ایستا کلاس؟
یک کلاس استاتیک صرفاً شامل متدها، خصوصیات استاتیک یا به طور خلاصه فقط اعضای استاتیک است، علاوه بر این، کلاسهای استاتیک نیز هستند. مهر و موم شده ، که به این معنی است که نمی توان آنها را به ارث برد یا برای ایجاد نمونه استفاده کرد، مثالی از یک کلاس ثابت که قبلاً چندین بار ذکر کردم، کنسول کلاس، وقتی تماس می گیرید Console.WriteLine();
، شما در واقع یک نمونه جدید از کنسول ایجاد نمی کنید، بلکه بارها و بارها از همان کنسول استفاده می کنید، زیرا نیازی به داشتن نمونه هایی از کنسول نیست و به همین دلیل است که کلاس های استاتیک می توانند مفید باشند.
✅ به ایست بازرسی رسید ✅
اکنون 10 سوال با پاسخ آنها دارید. هورا 🎊
این قسمت 1 پایین است، 2 مورد دیگر باقی مانده است
تا آن زمان، به یادگیری ادامه دهید، به طور فعال