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

نام تاپیک: 1001 نکته در سی شارپ

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    sort کردن آبجکتهای یک کلاس با پیاده سازی اینترفیس IComparable

    کلاس مورد نظر باید اینترفیس IComparable رو پیاده سازی کند. (این اینترفیس تنها یک متود CompareTo دارد)
    به نحوه ی پیاده سازی متود CompareTo دقت کنید :
    public class Person : IComparable
    {
    private string _firstname;
    public string Firstname
    {
    get { return _firstname; }
    set { _firstname = value; }
    }

    private string _lastname;
    public string Lastname
    {
    get { return _lastname; }
    set { _lastname = value; }
    }

    private int _age;
    public int Age
    {
    get { return _age; }
    set { _age = value; }
    }

    public Person(string firstname, string lastname, int age)
    {
    _firstname = firstname;
    _lastname = lastname;
    _age = age;
    }

    public int CompareTo(object obj)
    {
    if (obj is Person)
    {
    Person p2 = (Person)obj;
    return _firstname.CompareTo(p2.Firstname);
    }
    else
    throw new ArgumentException("Object is not a Person.");
    }


    public override string ToString()
    {
    return String.Format("{0} {1}, Age = {2}", _firstname,
    _lastname, _age.ToString());
    }
    }
    مثال - Sort کردن افراد از روی اسم کوچک (استفاده از کلاس بالا) :
    List<Person> persons = new List<Person>();
    persons.Add(new Person("Behrouz", "Rad", 30));
    persons.Add(new Person("Omid", "Mottaghi Rad", 31));
    persons.Add(new Person("Mehdi", "Keramati", 32));
    persons.Add(new Person("Ali", "Keshavarz", 33));
    persons.Add(new Person("Mohammad", "Heshemian", 34));
    persons.Add(new Person("Farhad", "XXX", 35));

    //Before Sorting
    listBox1.Items.AddRange(persons.ToArray());

    //ُSorting List
    persons.Sort();

    //Sorted List
    listBox2.Items.AddRange(persons.ToArray());
    منبع : http://codebetter.com/blogs/david.ha...ges/56094.aspx
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 17 تیر 1394 در 12:43 عصر

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

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

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