Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    == sẽ là so sánh 2 đối tượng còn Equals là so sánh giá trị của 2 đối tượng.

    Mã:
    StringBuilder str1 = new StringBuilder("T_T");             StringBuilder str2 = new StringBuilder("T_T");              if (str1 == str2)                 Console.WriteLine("str1==str2");             else                 Console.WriteLine("str1!=str2");              if (str1.Equals(str2))                 Console.WriteLine("str1 equals str2");             else                 Console.WriteLine("str1 not equals str2");
    Ở đây str1==str2 sẽ là false,còn str1.Equals(str2) lại là true. Bởi vì str1 và str2 là 2 đối tượng khác nhau nhưng lại cùng tham chiếu tương đương

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi dieucay555
    == sẽ là so sánh 2 đối tượng còn Equals là so sánh giá trị của 2 đối tượng.
    "Equal() so sánh giá trị 2 đối tượng" là sao? Mình nghĩ giải thích như thế này vẫn chưa đúng lắm thì phải. Giả sử mình có lớp Person do coder viết thì khi đó person1.Equal(person2); thì sao? Từ "giá trị" nghe có vẻ không ổn! Mình nghe nói khi gọi phương thức Equal() thì nó so sánh từng thành phần của 2 instance như các field, method, ... Do vậy, Nếu 2 instance là một đối tượng có nhiều field, method, ... thì Equal() sẽ thực hiện rất lâu!
    Còn "==", toán tử này chỉ dùng được khi bạn định nghĩa nó chứ không không mà có được. Nói cách khác "==" làm gì thì tùy vào bạn.
    Bạn nào có ý kiến khác không?

  3. #3

    Equal và toán tử "=="

    Equal và toán tử "==" có sự khác nhau nào không? Mình không biết khi nào nên dùng equal hay "==". Bạn bào chỉ mình với.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    =: gán giá trị cho một biến
    ==: so sánh 2 giá trị

    a = 2 : gán giá trị cho a là 2
    a == 2 : kiểm tra xem giá trị của biến a có là 2 hay không.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi Xcross87
    =: gán giá trị cho một biến
    ==: so sánh 2 giá trị

    a = 2 : gán giá trị cho a là 2
    a == 2 : kiểm tra xem giá trị của biến a có là 2 hay không.
    Mình nhầm, ý mình là Equals và "==" có khác nhau không?

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Equals() dùng để so sánh Hash của đối tượng.

  7. #7
    Trích dẫn Gửi bởi O'Wicked Fox
    Equals() dùng để so sánh Hash của đối tượng.
    Bạn có thể nói rõ hơn cho mình hiểu đươc không?
    VD code càng tốt.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •