eitaa logo
پروژه ASP.Net Core MVC (وب و سی شارپ)
126 دنبال‌کننده
168 عکس
38 ویدیو
375 فایل
❁﷽❁ آموزش 📖 برنامه نویسی ASP.Net Core MVC (وب و سی شارپ) Admin: @alialirezapanahi برنامه نویسی برنامه نویسی سی شارپ eitaa.com/sisharpapp برنامه نویسی وب eitaa.com/aspdatnet ویراستی virasty.com/alialirezapanahi آپارات aparat.com/alialirezapanahi
مشاهده در ایتا
دانلود
Program.cs
حجم: 4.9K
29 1- برای اضافه کردن id و نام و فامیل 2- خروج 3- چاپ 4- جستجو 5- ویرایش 6- حذف 7- بازیابی
30 از توابع بازگشتی که داخل خودش ، خودش را فراخوانی می کند که می توانیم به جای حلقه استفاده کرد static void Main() { Show1to10(1); // از یک شروع شود Console.WriteLine("------------------------------"); show5to50(5); // از پنج شروع می شود Console.ReadKey(); } public static void Show1to10(int n) { if (n <= 10) //عدد تا 10 پایان می یابد { Show1to10(n + 1); Console.WriteLine(n); // اگر کنسول بعد از فرا خوانی باشد اعداد از آخر به بعد کم می شود } } public static void show5to50(int n) { if (n <= 50) // عدد تا 50 پایان می یابد { Console.WriteLine(n); // اگر کنسول قبل از فرا خوانی باشد عدد از پنج شروع میشد به بالا show5to50(n + 5); } }
1 کلاس‌ها در سی‌شارپ (C#) یکی از اصول اساسی برنامه‌نویسی شی‌گرا هستند. یک کلاس به عنوان یک الگو یا قالب برای ایجاد اشیاء با ویژگی‌ها و رفتارهای خاص عمل می‌کند. در اینجا یک مثال ساده از نحوه تعریف یک کلاس در سی‌شارپ آورده شده است: class MyClass { // سطح دسترسی // private خصوصی // public عمومی // protected فقط دسترسی فضای نام public static int Sum(int a, int b) { return a + b; } private static string Fullname(string name, string family) { return name + " " + family; } و در کلاس Program static void Main(string[] args) { int sum = MyClass.Sum(4, 5); Console.WriteLine(sum); Console.ReadKey(); }
2 سطوح دسترسی (Access Modifiers) در سی‌شارپ مشخص می‌کنند که اعضای یک کلاس (مانند متغیرها و متدها) از کجا و چگونه قابل دسترسی هستند. در سی‌شارپ، پنج سطح دسترسی اصلی وجود دارد: 1- public: اعضایی که با این سطح دسترسی تعریف می‌شوند، از همه جا قابل دسترسی هستند. public class MyClass { public int MyProperty { } } 2- private: اعضایی که با این سطح دسترسی تعریف می‌شوند، فقط در داخل همان کلاس قابل دسترسی هستند. public class MyClass { private int myField; } 3- protected: اعضایی که با این سطح دسترسی تعریف می‌شوند، فقط در داخل همان کلاس و کلاس‌های مشتق شده از آن قابل دسترسی هستند. public class MyClass { protected int myField; } 4- internal: اعضایی که با این سطح دسترسی تعریف می‌شوند، فقط در داخل همان اسمبلی (پروژه) قابل دسترسی هستند. internal class MyClass { internal int MyProperty { } } 5- protected internal: اعضایی که با این سطح دسترسی تعریف می‌شوند، در داخل همان اسمبلی و همچنین در کلاس‌های مشتق شده از آن قابل دسترسی هستند. public class MyClass { protected internal int MyProperty { } } این سطوح دسترسی به شما کمک می‌کنند تا کنترل بیشتری بر روی نحوه دسترسی به اعضای کلاس‌ها و امنیت داده‌ها داشته باشید. آیا نیاز به توضیحات بیشتری در مورد هر یک از این سطوح دسترسی دارید؟ یا سوال دیگری در مورد سی‌شارپ دارید؟ خوشحال می‌شوم کمک کنم!
3 در سی‌شارپ، تفاوت‌های مهمی بین اعضای static و نمونه‌سازی (instance) وجود دارد 1- دسترسی: اعضای static بدون نیاز به نمونه‌سازی قابل دسترسی هستند، در حالی که اعضای نمونه فقط از طریق یک شیء قابل دسترسی هستند. 2- حافظه: اعضای static تنها یک بار در حافظه بارگذاری می‌شوند و بین تمام نمونه‌های کلاس مشترک هستند. اما هر نمونه از کلاس، نسخه‌ای جداگانه از اعضای نمونه دارد. 3- سازنده‌ها: کلاس‌های static نمی‌توانند سازنده‌های نمونه داشته باشند، اما می‌توانند سازنده‌های static داشته باشند که فقط یک بار اجرا می‌شوند.
4 نمونه‌سازی (Instantiation) در سی‌شارپ به فرآیند ایجاد یک شیء از روی یک کلاس گفته می‌شود. این فرآیند باعث می‌شود یک نمونه بر اساس ساختار کلاس مورد نظر در بخش Heap از حافظه ساخته شود و سپس آدرس آن نمونه در متغیری از جنس کلاس مورد نظر در Stack قرار گیرد. برای نمونه‌سازی از یک کلاس، از کلمه کلیدی new استفاده می‌شود. در اینجا یک مثال ساده آورده شده است: class Car { public string CarName; public int CarSpeed; public string CarModel; } و در کلاس Program class Program { static void Main(string[] args) { Car car1 = new Car(); car1.CarName = "pride"; car1.CarSpeed = 100; car1.CarModel = "1400"; Car car2 = new Car(); // car1 و car2 // جدا هستند و هیچ ربطی باهم ندارند car2.CarName = "pykan"; car2.CarSpeed = 220; car2.CarModel = "1388"; Console.WriteLine(car1.CarName + " " + car1.CarSpeed + " " + car1.CarModel); Console.WriteLine(car2.CarName + " " + car2.CarSpeed + " " + car2.CarModel); Console.ReadKey(); } }
5 سازنده‌ها (Constructors) در سی‌شارپ متدهای خاصی هستند که هنگام ایجاد یک شیء از یک کلاس فراخوانی می‌شوند. وظیفه اصلی سازنده‌ها مقداردهی اولیه اعضای یک شیء است. سازنده‌ها هم‌نام با کلاس تعریف می‌شوند و هیچ نوع مقداری را برنمی‌گردانند.
6 کلمه کلیدی this در سی‌شارپ به شیء جاری اشاره دارد و معمولاً برای تمایز بین اعضای کلاس و پارامترهای متد یا سازنده استفاده می‌شود. فراخوانی سازنده دیگر از داخل یک سازنده می‌توانید از this برای فراخوانی یک سازنده دیگر از داخل یک سازنده استفاده کنید class Person { public string name; public string family; public string website; public Person(string name, string family, string website) { this.name = name; this.family = family; this.website = website; } } و در کلاس Program class Program { static void Main(string[] args) { Person p1 = new Person("ali", "panahi", "www.google.com"); Person p2 = new Person("reza", "mohammadi", "www.yahoo.com"); Console.WriteLine($"name: {p1.name} family: {p1.family} website: {p1.website}"); Console.WriteLine($"name: {p2.name} family: {p2.family} website: {p2.website}"); Console.ReadKey(); }
7 یک برنامه حلقه که از کاربر بپرسیم چند تا پرسنل داریم و هر پرسنل اسم و فامیل و وب سایت پرسیده شود class Person { public string name; public string family; public string website; public Person(string name, string family, string website) { this.name = name; this.family = family; this.website = website; } } و در کلاس Program static void Main(string[] args) { Console.WriteLine("Please Enter Personal Number :"); int number = Convert.ToInt32(Console.ReadLine()); Person[] people = new Person[number]; for (int i = 0; i < number; i++) { Console.WriteLine($"Please Enter Person[{(i + 1)}] Name :"); string name = Console.ReadLine(); Console.WriteLine($"Please Enter Person[{(i + 1)}] Family :"); string family = Console.ReadLine(); Console.WriteLine($"Please Enter Person[{(i + 1)}] Web Site :"); string website = Console.ReadLine(); Person p = new Person(name, family, website); people[i] = p; } Console.ForegroundColor = ConsoleColor.Green; foreach (Person person in people) { Console.WriteLine($"Name : {person.name} Family : {person.family} WebSite : {person.website}"); } Console.ResetColor(); Console.ReadKey(); }
8 در سی‌شارپ، سازنده‌های static و public هر کدام نقش‌ها و ویژگی‌های خاص خود را دارند. class Program { static void Main(string[] args) { ali a1 = new ali(); ali a2 = new ali(); ali a3 = new ali(); ali a4 = new ali(); Console.ReadKey(); } } class ali { public ali() { Console.WriteLine("public Constructors.... "); } static ali() { Console.WriteLine("static Constructors.... "); } }
9 در اینجا تفاوت‌ها و کاربردهای هر یک را بررسی می‌کنیم تعریف: سازنده‌های public برای مقداردهی اولیه اعضای نمونه (instance) کلاس استفاده می‌شوند و می‌توانند پارامتر بپذیرند. سازنده‌های public فراخوانی: این سازنده‌ها هنگام ایجاد یک شیء جدید از کلاس فراخوانی می‌شوند. سازنده‌های static تعریف: سازنده‌های static برای مقداردهی اولیه اعضای static کلاس استفاده می‌شوند و نمی‌توانند پارامتر بپذیرند. فراخوانی: این سازنده‌ها تنها یک بار و قبل از دسترسی به هر عضو static کلاس، به صورت خودکار توسط CLR (Common Language Runtime) فراخوانی می‌شوند. تفاوت‌های کلیدی 1- فراخوانی: سازنده‌های public هنگام ایجاد یک شیء جدید فراخوانی می‌شوند، در حالی که سازنده‌های static تنها یک بار و به صورت خودکار توسط CLR فراخوانی می‌شوند. 2- پارامترها: سازنده‌های public می‌توانند پارامتر بپذیرند، اما سازنده‌های static نمی‌توانند. 3- هدف: سازنده‌های public برای مقداردهی اولیه اعضای نمونه استفاده می‌شوند، در حالی که سازنده‌های static برای مقداردهی اولیه اعضایstatic کلاس استفاده می‌شوند.
10 ارث‌بری (Inheritance) یکی از اصول مهم برنامه‌نویسی شیءگرا (OOP) است که به شما اجازه می‌دهد تا یک کلاس جدید از یک کلاس موجود ایجاد کنید. در سی‌شارپ، این کار با استفاده از نماد : انجام می‌شود. کلاس جدید که به آن کلاس مشتق (Derived Class) گفته می‌شود، می‌تواند تمام ویژگی‌ها و متدهای کلاس پایه (Base Class) را به ارث ببرد.