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

نام تاپیک: نحوه استفاده جالب از delegate در مثال زیر

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

    نحوه استفاده جالب از delegate در مثال زیر

    سلام.
    متد زیر یه هاش تیبل رو میگیره و بر اساس valueکه عددی هست اون رو sortمیکنه. اما کد اخر رو من متوجه نمیشم میشه لطفا توضیح بدید چیکار میکنه؟ منظورم نحوه استفاده از delegate هستش.


    private string[] getKeysInValueOrder(Hashtable arrayToSort)
    {
    string[] keys = new string[arrayToSort.Count];
    arrayToSort.Keys.CopyTo(keys, 0);

    Array.Sort(keys, delegate(string x, string y)
    {
    return (arrayToSort[x].ToString() as IComparable).CompareTo(arrayToSort[y].ToString());
    }
    );

    return keys;
    }

  2. #2
    کاربر دائمی آواتار دلتنگ اسمان
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    دل یار
    سن
    35
    پست
    571

    نقل قول: نحوه استفاده جالب از delegate در مثال زیر

    از مهندسین محترم کسی نیست توضصیح بده.

  3. #3
    کاربر دائمی آواتار abbas.oveissi
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    پست
    578

    نقل قول: نحوه استفاده جالب از delegate در مثال زیر

    نقل قول نوشته شده توسط دلتنگ اسمان مشاهده تاپیک
    از مهندسین محترم کسی نیست توضصیح بده.
    سلام ، با استفاده از دلیگیت اومده به متد Sort نشون داده که معیار مقایسه برای مرتب سازی چی باشه.این قضیه زمانی خیلی خودشو نشون میده که مثلا ما یک لیست از کلاس Student داریم که یکی از خصوصیاتشون معدل هست.حالا ما میخوایم این لیست رو براساس معدل مرتب کنیم.میتونیم با استفاده از این روش به Sort بگیم معیار مقایسشو خصوصیت معدل بذاره و با بقیه خصوصیات کلاس کاری نداشته باشه.البته به جای دلیگیت میشه از Lambda Expression هم استفاده کرد مانند زیر :
    private static void sortArray()
    {
    List<TestKlasse> liste = new List<TestKlasse>();
    liste.Add(new TestKlasse() { X = 2, Y = 8 });
    liste.Add(new TestKlasse() { X = 0, Y = 10 });
    liste.Add(new TestKlasse() { X = 1, Y = 9 });
    liste.Add(new TestKlasse() { X = 3, Y = 7 });
    // with delegate
    liste.Sort(delegate(TestKlasse a, TestKlasse b) { return a.Y.CompareTo(b.Y); });
    liste.ForEach(delegate(TestKlasse tk){Console.WriteLine("X {0}, Y {1}",tk.X,tk.Y);});
    // with lambda function
    liste.Sort((a, b) => a.X.CompareTo(b.X));
    liste.ForEach(delegate(TestKlasse tk) { Console.WriteLine("X {0}, Y {1}", tk.X, tk.Y); });
    }

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

  1. پاسخ: 23
    آخرین پست: جمعه 04 مرداد 1398, 12:41 عصر
  2. نحوه استفاده از کد زیر چگونه است ؟؟؟
    نوشته شده توسط Restlesa در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: پنج شنبه 26 خرداد 1390, 13:43 عصر
  3. مبتدی: نحوه استفاده از یک کلاس آماده با یک مثال
    نوشته شده توسط -Azure- در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 02 دی 1389, 08:56 صبح
  4. نحوه نوشتن یک کوئری براس مثال زیر
    نوشته شده توسط mohsen_metn در بخش SQL Server
    پاسخ: 4
    آخرین پست: یک شنبه 05 اردیبهشت 1389, 13:34 عصر
  5. مثال برای نحوه استفاده از ٰQRPreview
    نوشته شده توسط mojtaba_z در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 0
    آخرین پست: یک شنبه 23 دی 1386, 07:38 صبح

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

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