C# (CSharp):-CompareTo() method in C#

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ต.ค. 2024

ความคิดเห็น • 19

  • @bloodhawk403
    @bloodhawk403 ปีที่แล้ว +2

    This just helped me complete an assignement so thank you very much.

  • @mertkurt947
    @mertkurt947 10 หลายเดือนก่อน

    Very nicely explained. Thank you.

  • @leonardofraga5130
    @leonardofraga5130 3 ปีที่แล้ว +2

    Awesome, thanks, it really helped!

  • @mushee2222
    @mushee2222 2 ปีที่แล้ว

    Good explanation, thank you

  • @mikolaakbal
    @mikolaakbal 2 ปีที่แล้ว

    List.Sort(Comparision Делегат) - очень неудобная вещь. В смысле, вещь полезная, нужная, но неудобная. Этот сравнивающий метод, который Вы передаёте в этот вызов - сложно понять какое значение из него нужно возвращать. Выглядит так, что создан он по принципу "наоборот". Когда пишешь - получаешь обратный результат. Метод должен вернуть (-1), 0 или 1 в зависимости от сравнения. Вроде как разницу между первым и вторым операндом. Кстати, как определить разницу, если операнды НЕ числовые? В голове не укладывается. Тем не менее, если возвращаешь 1 то именно ВТОРОЙ операнд в сортировке пойдёт РАНЬШЕ, что, кажется, наоборот. Вы МОЖЕТЕ это понять? Я не могу. Этим пользуешься, совершая ошибки, ломая голову, затрачивая время. В своём коде, в этом методе определяю такие константы:
    private static int Сравнение_Для_Упорядочивания(Операнд Первый, Операнд Второй)
    {
    const int Первый_Раньше = (-1);
    const int Второй_Раньше = 1;
    const int Одинаково = 0;
    if (/* Условие сравнения */)
    {
    return Первый_Раньше;
    }
    else if (/* Условие сравнения */)
    {
    return Второй_Раньше;
    }
    else
    {
    return Одинаково;
    }
    }
    Вот с такими константами порядок сортировки будет ПОНЯТЕН мозгу программиста. В библиотеку .NET cледует добавить перегрузку Sort(), в которой делегатом является метод, возвращающий аналогичное понятное перечисление.

  • @hajarelmajid6842
    @hajarelmajid6842 4 ปีที่แล้ว +2

    I love your explanation thank you!

    • @BeSharpInCSharp
      @BeSharpInCSharp  4 ปีที่แล้ว +1

      welcome. Let me know any topics I should address.

    • @hajarelmajid6842
      @hajarelmajid6842 4 ปีที่แล้ว +1

      @@BeSharpInCSharp Collections and c# with database

  • @pablobonfante633
    @pablobonfante633 8 ปีที่แล้ว +3

    Muchas gracias me sirvió

  • @joro353
    @joro353 6 ปีที่แล้ว +1

    Great video. Thanks a lot.

  • @mlulinkinnyathikazi8530
    @mlulinkinnyathikazi8530 7 ปีที่แล้ว +2

    Beautiful Thanks

  • @DTZFG
    @DTZFG 7 ปีที่แล้ว +2

    But why do we need a CompareTo()? I could just write in the main program:
    if(c1.area > c2.area)

    • @govamurali2309
      @govamurali2309 5 ปีที่แล้ว +1

      What if u have 100 circles?

    • @BeSharpInCSharp
      @BeSharpInCSharp  4 ปีที่แล้ว

      Its generally not a good idea to make class variable public and available to other (client)classes like this. So better to provide compareTo method in (server )class method, which other class can use without direct access to class variables. Here client server are not meant in context of networking but a class that provides function and the class that uses it.

  • @srinivasaraoyp3640
    @srinivasaraoyp3640 5 ปีที่แล้ว

    Very nicely explained. Thank you.