#C چیست؟ آموزش کامل و جامع سی شارپ
فهرست مطالب
سی شارپ چیست؟
سی شارپ (C#) یک زبان برنامهنویسی مدرن، شیءگرا و چندمنظوره است که توسط مایکروسافت توسعه داده شده است. این زبان بخشی از پلتفرم NET. است و برای توسعه انواع مختلف نرمافزار از جمله برنامههای تحت وب، موبایل، دسکتاپ و بازی استفاده میشود.
using System;
class Program
{
static void Main()
{
Console.WriteLine("سلام دنیا!");
string name = "کاربر";
int age = 25;
Console.WriteLine($"سلام {name}، سن شما {age} سال است.");
}
}
تاریخچه سی شارپ
سی شارپ در سال 2000 توسط آندرس هیلزبرگ در مایکروسافت طراحی شد. هدف اصلی، ایجاد یک زبان مدرن و قدرتمند برای پلتفرم NET. بود.
ساختار پایه سی شارپ
هر برنامه سی شارپ از چندین بخش اصلی تشکیل شده است که درک آنها برای برنامهنویسی ضروری است.
using System; // فضای نامهای مورد نیاز
namespace MyApplication // تعریف فضای نام
{
public class Program // تعریف کلاس
{
public static void Main(string[] args) // متد اصلی برنامه
{
// کد برنامه اینجا نوشته میشود
Console.WriteLine("برنامه شروع شد");
}
}
}
ویژگیهای اصلی سی شارپ
۱. شیءگرایی کامل
سی شارپ یک زبان کاملاً شیءگرا است که از تمام اصول برنامهنویسی شیءگرا پشتیبانی میکند.
۲. Type Safety
سی شارپ یک زبان Type-Safe است که از خطاهای مرتبط با نوع داده جلوگیری میکند.
int number = 42;
// string text = number; // خطای کامپایل
string text = number.ToString(); // تبدیل صحیح
۳. مدیریت خودکار حافظه
با استفاده از Garbage Collection، مدیریت حافظه به صورت خودکار انجام میشود.
انواع داده در سی شارپ
سی شارپ دارای انواع داده متنوعی است که به دو دسته Value Type و Reference Type تقسیم میشوند.
// Value Types
int wholeNumber = 42;
double decimalNumber = 3.14;
bool isTrue = true;
char letter = 'A';
// Reference Types
string text = "سلام دنیا";
object obj = new object();
dynamic dynamicVar = 100;
برنامهنویسی شیءگرا در سی شارپ
سی شارپ از تمام مفاهیم اصلی برنامهنویسی شیءگرا پشتیبانی میکند.
public class Animal
{
public string Name { get; set; }
protected int Age { get; set; }
public virtual void MakeSound()
{
Console.WriteLine("صدای حیوان");
}
}
public class Cat : Animal
{
public Cat(string name, int age)
{
Name = name;
Age = age;
}
public override void MakeSound()
{
Console.WriteLine("میو میو!");
}
}
کالکشنها و آرایهها
سی شارپ مجموعهای غنی از کالکشنها را ارائه میدهد که برای مدیریت گروهی از اشیاء استفاده میشوند.
// آرایه
string[] names = { "علی", "محمد", "سارا" };
// لیست
List cities = new List();
cities.Add("تهران");
cities.Add("اصفهان");
// دیکشنری
Dictionary students = new Dictionary();
students.Add(1, "حسین");
students.Add(2, "مریم");
برنامهنویسی آسنکرون
سی شارپ با کلیدواژههای async و await، برنامهنویسی آسنکرون را بسیار ساده کرده است.
public async Task DownloadDataAsync(string url)
{
using (var client = new HttpClient())
{
string result = await client.GetStringAsync(url);
return result;
}
}
public async Task Main()
{
string data = await DownloadDataAsync("https://api.example.com/data");
Console.WriteLine(data);
}
LINQ در سی شارپ
LINQ (Language Integrated Query) امکان جستجو و دستکاری دادهها را به صورت یکپارچه فراهم میکند.
var numbers = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
var evenNumbers = numbers
.Where(n => n % 2 == 0)
.OrderByDescending(n => n)
.Select(n => n * 2);
// نتیجه: 20, 16, 12, 8, 4
.NET Framework و Core
سی شارپ میتواند روی پلتفرمهای مختلف NET. اجرا شود که شامل NET Framework. (ویندوز) و NET Core. (چند پلتفرمی) میشود.
بهترین شیوههای کدنویسی
۱. نامگذاری استاندارد
از قراردادهای نامگذاری استاندارد مانند PascalCase برای نام کلاسها و camelCase برای متغیرها استفاده کنید.
۲. مدیریت خطا
از بلوکهای try-catch برای مدیریت خطاها استفاده کنید و خطاها را به درستی لاگ کنید.
۳. کامنتگذاری مناسب
از کامنتهای XML برای مستندسازی کد استفاده کنید.
ابزارهای توسعه سی شارپ
محیطهای توسعه (IDE)
– Visual Studio
– Visual Studio Code با افزونه C#
– JetBrains Rider
ابزارهای تست
– MSTest
– NUnit
– xUnit