Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Lập trình C# | SortedList hoạt động như thế nào? Tại sao báo lỗi?

  1. #1
    Ngày gia nhập
    05 2007
    Bài viết
    6

    Mặc định Lập trình C# | SortedList hoạt động như thế nào? Tại sao báo lỗi?

    Code:
                SortedList sort = new SortedList();
                sort.Add(new Fish("bin"),1);
                sort.Add(new Fish("BIN"), 2);
    
                foreach (DictionaryEntry entry in sort)
                {
                    Console.WriteLine("{0} = {1}", entry.Key, entry.Value);
                }
    Code:
    public class Fish : IComparer
            {
                string name;
                public Fish(string theName)
                {
                    name = theName;
                }
    
                public override bool Equals(object obj)
                {
                    Fish f = obj as Fish;
                    if (f != null)
                        return String.Equals(name, f.name);
                    return false;
                }
    
                public override int GetHashCode()
                {
                    return name.GetHashCode();
                }
    
               
    
                #region IComparer Members
    
                public int Compare(object x, object y)
                {
                    CaseInsensitiveComparer com = new CaseInsensitiveComparer();
                    return com.Compare(x, y);
                }
    
                #endregion
            }
    Error: "Failed to compare two elements in the array."

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Với đoạn code của bạn, mình sửa lại như sau thì chạy OK
    Code:
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                SortedList sort = new SortedList();
                Fish fish01 = new Fish("BIN");
                Fish fish02 = new Fish("bin");
                sort.Add(fish01.Name, 1);
                sort.Add(fish02.Name, 2);
                foreach (DictionaryEntry entry in sort)
                    Console.WriteLine("{0} = {1}", entry.Key, entry.Value);
            }
        }
        public class Fish : IComparer
        {
            string name;
            public Fish(string theName)
            {
                name = theName;
            }
            public string  Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                }
            }
            public override bool Equals(object obj)
            {
                Fish f = obj as Fish;
                if (f!=null)
                {
                    return string.Equals(name, f.name);
                }
                return false;
            }
            public override int GetHashCode()
            {
                return name.GetHashCode();
            }
            public int Compare(object x, object y)
            {
                CaseInsensitiveComparer com = new CaseInsensitiveComparer();
                return com.Compare(x, y);
            }
        }
    }

  3. #3
    Ngày gia nhập
    05 2007
    Bài viết
    6

    Theo MSDN thì:
    Code:
    public virtual void Add (	Object key,Object value)
    Vì sao add ri lại báo lỗi:
    Code:
                sort.Add(new Fish("bin"),1);
                sort.Add(new Fish("BIN"), 2);

Các đề tài tương tự

  1. Cách custom Icomparer cho SortedList. So sánh lỗi: Failed to compare two elements in the array?
    Gửi bởi linh_060 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-07-2012, 09:52 PM
  2. Cách mở đuôi mdf hoặc ldf như thế nào?
    Gửi bởi fabiano90 trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 3
    Bài viết cuối: 22-05-2012, 10:51 PM
  3. Bài tập C++ Hàm tạo sao chép hoạt động như thế nào ?
    Gửi bởi dehin trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 16-01-2012, 10:29 PM
  4. Kế hoạch chuyển một doanh nghiệp hoặc Văn phòng.
    Gửi bởi thanhhung2013 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-06-2011, 09:35 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn