Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
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."
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  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ông cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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