نمایش نتایج 1 تا 1 از 1

نام تاپیک: آموزش پیاده سازی اینترفیس IComparer

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    آموزش پیاده سازی اینترفیس IComparer

    با سلام
    فواید اینترفیس ها در برنامه نویسی شی گرا بر کسی مخفی نیست !!! امروز یکی از اینترفیس های خود دات نت (IComparer) رو با هم پیاده سازی میکنم !!!یک سناریو رو در نظر بگیرین که ما یک کلاس ساده داشته باشیم و بخواهیم اون رو مرتب کنیم مثلا براساس معدل


    public class student
    {
    public string name;
    public double avrage;


    public student(string name, double avg)
    {
    this.name = name;
    this.avrage = avg;
    }


    }

    حالا اگر مثلا در یک نوع جنریک بخواهیم از این استفاده کنیم و بخواهیم مثلا از متد sort استفاده کنیم چه اتفاقی می افته ؟؟؟ بله اتفاقی نمی افته
    فقط کامپایلر یک خطا صادر میکنه و میگه من نمیدونم چطور مرتبش کنم چون بهش چیزی راجب این نگفتیم حالا این اینترفیس رو به این صورت پیاده سازی یا ایمپلیمنت میکنیم



    public class comstude : IComparer<student>
    {


    public int Compare(student x, student y)
    {
    return x.avrage.CompareTo(y.avrage);
    }


    }


    public class student
    {
    public string name;
    public double avrage;
    public student(string name1, double av)
    {
    this.name = name1;
    this.avrage = av;
    }




    public static List<student> getstudentlist()
    {
    List<student> templist = new List<student>();


    templist.Add(new student("esa", 10));
    templist.Add(new student("reza", 20));
    templist.Add(new student("reza1", 17.50));
    templist.Add(new student("reza2", 16));
    templist.Add(new student("reza3", 19));
    templist.Add(new student("reza4", 7));
    return templist;
    }




    public override string ToString()
    {
    return string.Format("name is : {0}\t and averg is\t {1}", name, avrage);
    }


    }

    و در نهایت به این صورت استفاده میکنیم !!!


    class Program
    {
    static void Main(string[] args)
    {


    List<student> list = student.getstudentlist();
    list.Sort(new comstude());


    foreach (student var in list)
    {
    Console.WriteLine(var);
    }
    Console.ReadKey();
    }
    }

    ساده بود نه !!!
    آخرین ویرایش به وسیله esafb52 : چهارشنبه 16 دی 1394 در 14:08 عصر

تاپیک های مشابه

  1. مقاله: آموزش پیاده سازی Custom Paging در GridView با تکنولوژی Ajax
    نوشته شده توسط alonemm در بخش ASP.NET Web Forms
    پاسخ: 50
    آخرین پست: شنبه 31 خرداد 1393, 10:33 صبح
  2. آموزش پیاده سازی JOB در MS SQL Server 2005
    نوشته شده توسط software.eng66 در بخش تحلیل و طراحی بانک اطلاعات
    پاسخ: 1
    آخرین پست: چهارشنبه 16 شهریور 1390, 08:38 صبح
  3. درخواست آموزش پیاده سازی VLAN
    نوشته شده توسط sajad_3dmax در بخش شبکه و Networking‌
    پاسخ: 11
    آخرین پست: پنج شنبه 11 شهریور 1389, 17:09 عصر
  4. اموزش پیاده سازی لیست جنریک
    نوشته شده توسط aminkk در بخش C#‎‎
    پاسخ: 5
    آخرین پست: پنج شنبه 02 مهر 1388, 13:13 عصر
  5. پاسخ: 2
    آخرین پست: دوشنبه 25 خرداد 1388, 09:57 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •