PDA

View Full Version : آموزش: آشنایی با کالکشن جنریک List در سی شارپ



hamid075
دوشنبه 14 آبان 1397, 21:15 عصر
در پست های قبل مطالبی را در مورد ArrayList آموختید. یک ArrayList زمانی که مقداری به آن افزوده می‌شود، اندازه خود را افزایش می‌دهد. کالکشن <List<T عملکردی شبیه ArrayList دارد. با این حال <List<T یک کالکشن جنریک بوده و ArrayList یک کالکشن غیر جنریک است.


<List<T را می توان به دو روش زیر تعریف و نمونه سازی کرد :

List<int> intList = new List<int>();


//Or


IList<int> intList = new List<int>();



در نمونه مثال بالا اولین عبارت از متغیری با نوع List استفاده می کند و این در حالی است که عبارت دوم از متغیری با نوع IList بهره می برد. <List<T اینترفیس <IList<T را پیاده سازی می کند. در برنامه نویسی به روش شی گرایی پیشنهاد میشود از اینترفیس ها به جای نوع های واقعی استفاده شود. این مورد می تواند در تست و نگهداری برنامه ها کمک قابل توجهی به ما بکند. بنابراین از <IList<T برای تعریف شی ایی از نوع <List<T استفاده کنید.

اضافه کردن عناصر به لیست
از متد ()Add برای افزودن مقادیر به کالکشن مورد نظر خود استفاده کنید. نمونه مثال زیر مقادیر اعداد صحیح را به لیستی از نوع int اضافه می‌کند :

IList<int> intList = new List<int>();
intList.Add(10);
intList.Add(20);
intList.Add(30);
intList.Add(40);


IList<string> strList = new List<string>();
strList.Add("one");
strList.Add("two");
strList.Add("three");
strList.Add("four");
strList.Add("four");
strList.Add(null);
strList.Add(null);


IList<Student> studentList = new List<Student>();
studentList.Add(new Student());
studentList.Add(new Student());
studentList.Add(new Student());



همچنین شما می توانید مقادیر را در زمان نمونه‌سازی به لیست خود اضافه کنید :

IList<int> intList = new List<int>(){ 10, 20, 30, 40 };


//Or


IList<Student> studentList = new List<Student>() {
new Student(){ StudentID=1, StudentName="Bill"},
new Student(){ StudentID=2, StudentName="Steve"},
new Student(){ StudentID=3, StudentName="Ram"},
new Student(){ StudentID=1, StudentName="Moin"}
};


منبع : آشنایی با کالکشن جنریک List در سی شارپ (http://learnsource.net/post/186/%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%DA%A9%D8%A7%D9%84%DA%A9%D8%B4%D9%86-%D8%AC%D9%86%D8%B1%DB%8C%DA%A9-list-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE)