با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش #C در خدمت شما دوستان هستیم . در بخش قبلی با dynamic type در زبان #C آشنا شدید ، در قسمت بعد این آموزش قصد داریم شما را با نحوه تعریف و مقدار دهی اشیاء در #c یا Initializer Syntax در سی شارپ در این زبان آشنا کنیم. تا پایان این جلسه همراه ما باشید.
C # 3.0 با (NET 3.5.) Syntax Initializer Object را معرفی کرد، که راه جدیدی است برای تعریف و مقداردهی اولیه (initialize) یک شیء از یک کلاس یا مجموعه. Object initializers به شما اجازه می دهد مقادیری را به فیلدها یا پراپرتی ها در زمان ایجاد یک شی بدون فراخوانی سازنده آن اختصاص دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Student { public int StudentID { get; set; } public string StudentName { get; set; } public int Age { get; set; } public string Address { get; set; } } class Program { static void Main(string[] args) { Student std = new Student() { StudentID = 1, StudentName = "Bill", Age = 20, Address = "New York" }; } } |
در مثال بالا، کلاس Student بدون هیچ سازنده ای تعریف شده است. در متد Main ما شیء Student را ایجاد کرده و مقادیری را به تمام یا برخی از پراپرتی ها همانند بالا در یک زمان اختصاص دادیم. این یک نوع “object initializer syntax” می باشد.
کامپایلر مقداردهی اولیه کلاس بالا را همانند موارد زیر انجام می دهد.
1 2 3 4 5 6 7 8 | Student __student = new Student(); __student.StudentID = 1; __student.StudentName = "Bill"; __student.Age = 20; __student.StandardID = 10; __student.Address = "Test"; Student std = __student; |
مجموعه ها را می توان همانطور که اشیاء کلاس را با استفاده از دستورالعمل initializer تنظیم می کنید، تعریف و مقداردهی اولیه (initialize) کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 | var student1 = new Student() { StudentID = 1, StudentName = "John" }; var student2 = new Student() { StudentID = 2, StudentName = "Steve" }; var student3 = new Student() { StudentID = 3, StudentName = "Bill" } ; var student4 = new Student() { StudentID = 3, StudentName = "Bill" }; var student5 = new Student() { StudentID = 5, StudentName = "Ron" }; IList<Student> studentList = new List<Student>() { student1, student2, student3, student4, student5 }; |
شما همچنین می توانید مجموعه ها و اشیاء را در یک زمان تعریف و مقداردهی اولیه کنید.
1 2 3 4 5 6 7 8 | IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John"} , new Student() { StudentID = 2, StudentName = "Steve"} , new Student() { StudentID = 3, StudentName = "Bill"} , new Student() { StudentID = 3, StudentName = "Bill"} , new Student() { StudentID = 4, StudentName = "Ram" } , new Student() { StudentID = 5, StudentName = "Ron" } }; |
شما همچنین می توانید null را به عنوان یک عنصر مشخص کنید:
1 2 3 4 | IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John"} , null }; |
در این بخش با نحوه Initialize کردن انواع اشیاء و مجموعه ها در #C آشنا شدید ، در بخش بعدی قصد داریم شما را با Tuple در این زبان آشنا کنیم.